📜  DynamoDB-MapReduce

📅  最后修改于: 2020-11-28 14:08:28             🧑  作者: Mango


亚马逊的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密钥对(可选)

蜂巢设置

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

您可以按照以下步骤执行此操作-

  • 登录到管理控制台,然后打开位于https://console.aws.amazon.com/ec2/的EC2控制台。

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

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

  • 选择创建密钥对

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

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

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

蜂巢群集

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

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

  • 访问EMR控制台。

  • 选择创建集群

  • 在创建屏幕中,使用群集的描述性名称设置群集配置,选择“是”进行终止保护,并选中“启用”进行日志记录,选中“ S3目标”作为日志文件夹S3位置,以及“启用”进行调试。

  • 在“软件配置”屏幕中,确保字段包含适用于Hadoop发行版的Amazon,适用于AMI版本的最新版本,适用于要安装的应用程序的默认Hive版本-Hive和适用于要安装的应用程序的默认Pig版本。

  • 在“硬件配置”屏幕中,确保字段包含“启动到网络的EC2-Classic ,对EC2可用区域的无首选项” ,“主Amazon EC2实例类型的默认值”,“不检查请求竞价型实例”,“ Core-Amazon EC2实例的默认值”。类型,计数2 ,不检查请求竞价型实例,Task-Amazon EC2实例类型的默认值,计数0 ,不检查请求竞价型实例。

确保设置一个限制以提供足够的容量以防止群集故障。

  • 在“安全性和访问权限”屏幕中,确保字段将您的密钥对保存在EC2密钥对中,没有其他IAM用户保留在IAM用户访问权限中,并且继续执行没有IAM角色的角色。

  • 查看“引导操作”屏幕,但不要对其进行修改。

  • 查看设置,完成后选择“创建集群”

摘要”窗格出现在群集的开始处。

激活SSH会话

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

如果没有,请安装PuTTY。然后启动PuTTYgen并选择Load 。选择您的PEM文件,然后将其打开。 PuTTYgen将通知您成功导入。选择“保存私钥”以PuTTY私钥格式(PPK)保存,然后选择“是”进行保存而无需输入密码。然后输入PuTTY键的名称,点击Save ,然后关闭PuTTYgen。

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

连接到主节点后,将显示Hadoop命令提示符,这意味着您可以开始交互式Hive会话。

蜂巢表

Hive用作数据仓库工具,允许使用HiveQL在EMR群集上进行查询。先前的设置会提示您工作。只需输入“ hive”,然后输入所需的任何命令,即可交互式运行Hive命令。请参阅我们的蜂巢教程的详细信息蜂巢