以交互方式提交 Hadoop 任务 - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

以交互方式提交 Hadoop 任务

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

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

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

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

  • 您可以通过使用 AWS CLI 以交互方式提交 Hadoop 任务,方法是在AWS CLI命令使用ssh子命令。要将 JAR 文件从本地 Windows 计算机复制到主节点的文件系统,请键入以下命令。Replace j-2A6HXXXXXXL7J 替换为您的集群 ID,请将 mykey.ppk 替换为您的 key pair 文件的名称,然后将其替换为 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 命令的更多信息,请参阅https://docs.aws.amazon.com/cli/latest/reference/emr

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

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

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

  1. 如果未在集群上安装 Hive,请键入以下命令进行安装。Replace 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 计算机复制到集群,请键入以下命令。Replace j-2A6HXXXXXXL7J 替换为您的集群 ID,并将 mykey.ppk 替换为您的 key pair 文件的名称。

    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 命令的更多信息,请参阅https://docs.aws.amazon.com/cli/latest/reference/emr