使用 Amazon EMR 的 Apache Hive 处理 DynamoDB 数据 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon EMR 的 Apache Hive 处理 DynamoDB 数据

Amazon DynamoDB 集成 Amazon EMR 上运行的数据仓库应用程序 Apache Hive。Hive 可以读取和写入 DynamoDB 表的数据,从而允许您执行以下操作:

  • 使用类似 SQL 的语言 (HiveQL) 查询实时 DynamoDB 数据。

  • 将数据从 DynamoDB 表复制到 Amazon S3 存储桶,反之亦然。

  • 将数据从 DynamoDB 数据复制到 Hadoop Distributed File System(HDFS),反之亦然。

  • 对 DynamoDB 表执行联接操作。

概览

Amazon EMR 服务方便快速经济地处理海量数据。要使用 Amazon EMR,启动一个运行 Hadoop 开源框架的 Amazon EC2 实例托管集群。Hadoop 是实现 MapReduce 算法的分布式应用程序,任务映射到集群的多个节点。每个节点与其他节点并行处理指定工作。最后,在单个节点上还原输出,得到最终结果。

可以选择启动持久或瞬时 Amazon EMR 集群:

  • 持久集群一直运行,直到关闭。持久集群非常适合数据分析、数据仓库或任何其他交互式使用。

  • 瞬时集群运行处理任务流的时间,然后自动关闭。瞬时集群非常适合定期处理任务,例如运行脚本。

有关 Amazon EMR 架构和管理的信息,请参见 Amazon EMR 管理指南

启动 Amazon EMR 集群后,指定 Amazon EC2 实例的初始数量和类型。还指定要在集群上运行的其他分布式应用程序(除 Hadoop 本身之外)。这些应用程序包括 Hue、Mahout、Pig、Spark 等。

有关 Amazon EMR 应用程序的信息,请参见 Amazon EMR 版本指南

根据集群配置,可能有以下一种或多种节点类型:

  • 主节点 – 管理集群,协调将 MapReduce 可执行文件和原始数据子集分配到核心实例组和任务实例组。此外,它还跟踪执行的每项任务的状态并监控实例组的运行状况。集群只有一个主节点。

  • 核心节点 - 使用 Hadoop Distributed File System(HDFS)运行 MapReduce 任务和存储数据。

  • 任务节点(可选)— 运行 MapReduce 任务。