使用 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 任务。