DynamoDB - MapReduce

Amazon的Elastic MapReduce(EMR)允许您快速有效地处理大数据. EMR在EC2实例上运行Apache Hadoop,但简化了流程.您利用Apache  Hive 通过 HiveQL ,一种类似于SQL的查询语言. Apache Hive用作优化查询和应用程序的方法.

您可以使用管理控制台的EMR选项卡,EMR CLI,API或SDK来启动作业流程.您还可以选择以交互方式运行Hive或使用脚本.

EMR读/写操作会影响吞吐量消耗,但是,在大型请求中,它会执行重试并保护退避算法.此外,与其他操作和任务同时运行EMR可能会导致限制.

DynamoDB/EMR集成不支持二进制和二进制集属性.

DynamoDB/EMR集成先决条件

在使用EMR之前,请查看必要项目的核对表;

  • AWS账户

  • EMR操作中使用的同一账户下的填充表

  • 具有DynamoDB连接的自定义Hive版本

  • DynamoDB连接支持

  • S3存储桶(可选)

  • SSH客户端(可选)

  • EC2密钥对(可选)

Hive设置

在使用EMR之前,创建密钥对以交互模式运行Hive.密钥对允许连接到EC2实例和作业流的主节点.

您可以通过执行后续步骤 :

  • 登录管理控制台,打开位于"https://console.aws.amazon.com/ec2/

  • 在右上角选择一个区域控制台.确保该区域与DynamoDB区域匹配.

  • 在导航窗格中,选择密钥对.

  • 选择创建密钥对.

  • 密钥对名称中字段,输入名称并选择创建.

  • 下载生成的私钥文件,该文件使用以下格式:filename. pem.

注意 : 如果没有密钥对,则无法连接到EC2实例.

Hive群集

创建启用配置单元的群集以运行Hive.它为Hive-to-DynamoDB连接构建了所需的应用程序和基础架构环境.

您可以使用以下步骤执行此任务 :

  • 访问EMR控制台.

  • 选择创建群集 .

  • 在创建屏幕中,使用群集的描述性名称设置群集配置,选择进行终止保护并检查on 已启用用于记录,日志文件夹S3位置的S3目标和已启用用于调试.

  • 在"软件配置"屏幕中,确保字段包含用于Hadoop分发的 Amazon ,AMI版本的最新版本,要安装的应用程序的默认Hive版本,以及要安装的应用程序的默认Pig版本 - 猪.

  • 在"硬件配置"屏幕中,确保字段包含启动到EC2-Classic 对于网络,无Pr EC2可用区的参考,Master-Amazon EC2实例类型的默认值,不检查请求竞价型实例,Core-Amazon EC2实例类型的默认值, 2 用于计数,不检查对于请求竞价型实例,任务 - 亚马逊EC2实例类型的默认值,对于计数的 0 ,并且不检查请求竞价型实例.

请务必设置一个限制,以提供足够的容量来防止群集失败.

  • 在安全和访问屏幕,确保字段在EC2密钥对中保存密钥对, IAM用户访问中没有其他IAM用户,以及在IAM角色中无角色.

  • 查看Bootstrap Actions屏幕,但不要修改它.

  • 查看设置,然后选择<完成后创建群集.

摘要窗格出现在群集.

激活SSH会话

您需要激活SSH会话才能连接到主节点并执行CLI操作.通过在EMR控制台中选择群集来找到主节点.它将主节点列为主公共DNS名称.

如果您没有PuTTY,请安装PuTTY.然后启动PuTTYgen并选择加载.选择您的PEM文件,然后将其打开. PuTTYgen将通知您成功导入.选择保存私钥以保存为PuTTY私钥格式(PPK),然后选择进行保存而不使用密码短语.然后输入PuTTY键的名称,点击保存,然后关闭PuTTYgen.

首先启动PuTTY,使用PuTTY与主节点建立连接.从"类别"列表中选择会话.在主机名字段中输入hadoop @ DNS.展开连接>在"类别"列表中单击"SSH ",然后选择验证.在控制选项屏幕中,选择浏览以获取用于身份验证的私钥文件.然后选择您的私钥文件并将其打开.选择以获取安全警报弹出窗口.

连接到主节点时,会出现Hadoop命令提示符,这意味着您可以开始交互式Hive会话.

Hive表

Hive用作数据仓库工具,允许使用HiveQL .之前的设置为您提供了工作提示.只需输入"hive",然后输入您想要的任何命令,以交互方式运行Hive命令.有关 Hive 的更多信息,请参阅我们的Hive教程.