Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

以交互方式提交 Hadoop 任务

除了向集群添加步骤之外,还可以使用 SSH 客户端或 AWS CLI 连接到主节点,然后以交互方式提交 Hadoop 任务。例如,您可以使用 PuTTY 与主节点建立 SSH 连接,然后提交编译为一个或多个 Hadoop 任务的交互式 Hive 查询。

可以通过与主节点建立 SSH 连接 (使用 SSH 客户端,如 PuTTY 或 OpenSSH) 或通过在 AWS CLI 中使用 ssh 子命令,以交互方式提交 Hadoop 任务。可以采用交互方式向主节点提交任务 (即使集群上运行有 256 个活动步骤)。但是请注意,以交互方式提交的任务的关联日志记录会包含在当前正在运行的步骤的控制器日志的“step created jobs (步骤创建的任务)”部分中。有关步骤日志的更多信息,请参阅查看日志文件

以下示例演示如何以交互方式向主节点提交 Hadoop 任务和 Hive 任务。针对其他编程框架 (如 Pig) 提交任务的过程与这些示例类似。

使用 AWS CLI 以交互方式提交 Hadoop 任务

  • 可以通过采用 CLI 命令建立 SSH 连接 (使用 ssh 子命令)。使用 AWS CLI 以交互方式提交 Hadoop 任务。要将 JAR 文件从本地 Windows 计算机复制到主节点的文件系统,请键入以下命令。将 j-2A6HXXXXXXL7J 替换为您的集群 ID,将 mykey.ppk 替换为您的密钥对文件的名称,并将 myjar.jar 替换为您的 JAR 文件的名称。

    aws emr put --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --src "C:\Users\username\myjar.jar"

    要创建 SSH 连接并提交 Hadoop 任务 myjar.jar,请键入以下命令。

    aws emr ssh --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --command "hadoop jar myjar.jar"

有关如何在 AWS CLI 中使用 Amazon EMR 命令的更多信息,请参阅 http://docs.amazonaws.cn/cli/latest/reference/emr

使用 AWS CLI 以交互方式提交 Hive 任务

除了通过 JAR 文件向主节点提交任务之外,您还可以通过与主节点上运行的 Hadoop 编程框架之一进行交互来提交任务。例如,您可以在命令行以交互方式提交 Hive 查询或 Pig 转换,也可以向集群提交脚本进行处理。您的命令或脚本随后会编译为一个或多个 Hadoop 任务。

以下过程演示如何使用 AWS CLI 运行 Hive 脚本。

  1. 如果未在集群上安装 Hive,请键入以下命令进行安装。将 j-2A6HXXXXXXL7J 替换为您的集群 ID。

    aws emr install-applications --cluster-id j-2A6HXXXXXXL7J --apps Name=Hive
  2. 创建包含待运行的查询或命令的 Hive 脚本文件。以下名为 my-hive.q 的示例脚本创建两个表 (即 aTableanotherTable)。并将 aTable 的内容复制到 anotherTable,从而替换所有数据。

    ---- sample Hive script file: my-hive.q ---- create table aTable (aColumn string) ; create table anotherTable like aTable; insert overwrite table anotherTable select * from aTable
  3. 从命令行键入以下命令以使用 ssh 子命令运行脚本。

    要将 my-hive.q 从 Windows 计算机复制到集群,请键入以下命令。将 j-2A6HXXXXXXL7J 替换为您的集群 ID,并将 mykey.ppk 替换为您的密钥对文件的名称。

    aws emr put --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --src "C:\Users\username\my-hive.q"

    要创建 SSH 连接并提交 Hive 脚本 my-hive.q,请键入以下命令。

    aws emr ssh --cluster-id j-2A6HXXXXXXL7J --key-pair-file "C:\Users\username\Desktop\Keys\mykey.ppk" --command "hive -f my-hive.q"

有关如何在 AWS CLI 中使用 Amazon EMR 命令的更多信息,请参阅 http://docs.amazonaws.cn/cli/latest/reference/emr