我有一个巨大的 DynamoDB 表,我想对其进行分析以聚合存储在其属性中的数据。然后应由 Java 应用程序处理聚合数据。 虽然我了解 MapReduce 背后的真正基本概念,但我以前从未使用过它。

在我的例子中,假设我有一个 customerIdorderNumbers每个 DynamoDB 项目中的属性,并且我可以为同一客户提供多个项目。喜欢:

customerId: 1, orderNumbers: 2 
customerId: 1, orderNumbers: 6 
customerId: 2, orderNumbers: -1 

基本上我想对每个 customerId 的 orderNumbers 求和,然后使用聚合在 Java 中执行一些操作。

AWS Elastic MapReduce 可能会帮助我,但我不明白如何将自定义 JAR 与 DynamoDB 连接。我的自定义 JAR 可能需要同时公开 mapreduce功能,我在哪里可以找到合适的接口(interface)来实现?

另外,我对文档有点困惑,似乎我应该先将数据导出到 S3,然后再运行我的自定义 JAR。这是正确的吗?

谢谢

请您参考如下方法:

注意:我还没有构建有效的 EMR,只是阅读一下。

首先,Prerequisites for Integrating Amazon EMR with Amazon DynamoDB

您可以直接在 DynamoDB 上工作:Hive Command Examples for Exporting, Importing, and Querying Data in Amazon DynamoDB , 如您所见,您可以通过这种方式执行“类似 SQL”的查询。

如果您对 Hadoop 的了解为零,您应该阅读一些介绍 Material ,例如:What is Hadoop

本教程是另一本好书 Using Amazon Elastic MapReduce with DynamoDB

关于您的自定义 JAR 应用程序,您需要将其上传到 S3。使用本指南:How to Create a Job Flow Using a Custom JAR

我希望这能帮助您入门。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!