DynamoDB - MapReduce



Amazon 的 Elastic MapReduce (EMR) 允许您快速有效地处理大数据。EMR 在 EC2 实例上运行 Apache Hadoop,但简化了流程。您可以利用 Apache Hive 通过 HiveQL(类似于 SQL 的查询语言)查询 MapReduce 作业流程。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/ 的 EC2 控制台

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

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

  • 选择“创建密钥对”。

  • 在“密钥对名称”字段中,输入名称并选择“创建”。

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

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

Hive 集群

创建一个启用 Hive 的集群以运行 Hive。它构建了 Hive 到 DynamoDB 连接所需的环境应用程序和基础设施。

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

  • 访问 EMR 控制台。

  • 选择“创建集群”。

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

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

  • 在“硬件配置”屏幕中,确保字段为网络保留“启动到 EC2-Classic”,为 EC2 可用区保留“无偏好”,为“主-Amazon EC2 实例类型”保留默认值,不选中“请求 Spot 实例”,为“核心-Amazon EC2 实例类型”保留默认值,为“数量”保留“2”,不选中“请求 Spot 实例”,为“任务-Amazon EC2 实例类型”保留默认值,为“数量”保留“0”,不选中“请求 Spot 实例”。

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

  • 在“安全和访问”屏幕中,确保字段在 EC2 密钥对中保留您的密钥对,在 IAM 用户访问中保留“无其他 IAM 用户”,在 IAM 角色中保留“无需角色继续”。

  • 查看“引导操作”屏幕,但不要修改它。

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

集群启动时会在“摘要”窗格中显示。

激活 SSH 会话

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

如果您没有 PuTTY,请安装它。然后启动 PuTTYgen 并选择“加载”。选择您的 PEM 文件并打开它。PuTTYgen 会通知您导入成功。选择“保存私钥”以保存为 PuTTY 私钥格式 (PPK),并为保存时不使用密码选择“是”。然后为 PuTTY 密钥输入名称,点击“保存”,然后关闭 PuTTYgen。

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

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

Hive 表

Hive 作为一种数据仓库工具,允许使用 HiveQL 查询 EMR 集群。之前的设置为您提供了一个有效的提示。只需输入“hive”,然后输入您想要的任何命令即可交互式运行 Hive 命令。有关 Hive 的更多信息,请参阅我们的 Hive 教程。

广告