【问题标题】:How to use external data with Elastic MapReduce如何通过 Elastic MapReduce 使用外部数据
【发布时间】:2012-06-06 16:41:32
【问题描述】:

来自亚马逊的 EMR 常见问题:

问:我可以从 Internet 或 Amazon S3 以外的其他地方加载我的数据吗?

是的。您的 Hadoop 应用程序可以从 Internet 上的任何位置或从其他 AWS 服务加载数据。请注意,如果您从 Internet 加载数据,将收取 EC2 带宽费用。 Amazon Elastic MapReduce 还提供对 DynamoDB 中数据的基于 Hive 的访问。

从外部(非 S3)源加载数据的规范是什么?此选项似乎缺乏资源,并且似乎没有以任何形式记录。

【问题讨论】:

  • 不确定我是否理解这个问题,您是说“我如何将数据从互联网加载到基于 EMR 的 Hadoop 实例中?”
  • @ChrisWhite 是的,这正是我要问的。 EMR 允许数据来自 S3 以外的地方,但没有说明如何实现。

标签: elastic-map-reduce


【解决方案1】:

如果您想以“hadoop 方式”执行此操作,您应该在您的数据源上实现 DFS,或者将对您的源 URL 的引用放入某个文件中,该文件将作为 MR 作业的输入。
同时,hadoop 是关于将代码移动到数据中。从这个角度来看,即使 EMR over S3 也不理想 - EC2 和 S3 是不同的集群。因此,如果数据源在物理上位于数据中心之外,则很难想象有效的 MR 处理。

【讨论】:

    【解决方案2】:

    基本上亚马逊所说的是,您可以通过您的代码以编程方式访问来自互联网或任何其他来源的任何内容。例如,您可以通过任何基于 HTTP 的客户端 API 访问 Couch 数据库实例。

    【讨论】:

      【解决方案3】:

      我知道用于 java 的 Cassandra 包有一个名为 org.apache.cassandra.hadoop 的源包,其中有两个类用于在运行 AWS 时从 Cassandra 获取信息弹性 MapReduce。

      基础课程:ColumnFamilyInputFormat.javaConfigHelper.java

      转至 this link 以查看我所说的示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-07-02
        • 2016-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-08
        相关资源
        最近更新 更多