以交互方式提交 Hadoop 任务 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

以交互方式提交 Hadoop 任务

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

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

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

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

  • 可以通过采用 Amazon CLI 命令建立 SSH 连接(使用 Amazon CLI 子命令),使用 ssh 以交互方式提交 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"

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

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

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

以下过程演示如何使用 Amazon 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"

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