提交 Pig 工作 - Amazon EMR
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

提交 Pig 工作

此部分演示如何向 Amazon EMR 集群提交 Pig 工作。后面的示例会生成一个报告,其中包含已传输的字节总数、前 50 个 IP 地址的列表、前 50 个外部引用站点的列表以及前 50 个使用 Bing 和 Google 的搜索词。Pig 脚本位于 Amazon S3 存储桶 s3://elasticmapreduce/samples/pig-apache/do-reports2.pig. 中。输入数据位于 Amazon S3 存储桶 s3://elasticmapreduce/samples/pig-apache/input. 中。输出保存到 Amazon S3 存储桶。

重要

对于 EMR 3.x 或更早的版本,您必须复制并修改 Pig 脚本 do-reports.pig 以使其正常工作。在修改的脚本中,将下面这行

register file:/home/hadoop/lib/pig/piggybank.jar

替换为:

register file:/usr/lib/pig/lib/piggybank.jar

然后在 中您自己的存储桶中替换此脚本。Amazon S3.

使用 Amazon EMR 控制台提交 Pig 工作

此示例介绍如何使用 Amazon EMR 控制台向集群添加 Pig 步骤。

提交 Pig 步骤

  1. 通过以下网址打开 Amazon EMR 控制台:https://console.amazonaws.cn/elasticmapreduce/

  2. Cluster List (集群列表) 中,选择您的集群的名称。

  3. 滚动到 Steps (步骤) 部分并展开它,然后选择 Add step (添加步骤).

  4. Add Step (添加步骤) 对话框中:

    • 对于 Step type (步骤类型),选择 Pig program (Pig 程序).

    • 对于 Name (名称),接受默认名称(Pig 程序)或键入新名称。

    • 对于 Script S3 location (脚本 S3 位置),键入 Pig 脚本的位置。例如:s3://elasticmapreduce/samples/pig-apache/do-reports2.pig

    • 对于 Input S3 location (输入 S3 位置),键入输入数据的位置。例如:s3://elasticmapreduce/samples/pig-apache/input

    • 对于 Output S3 location (输出 S3 位置),键入或浏览到 Amazon S3 输出存储桶的名称。

    • 对于 Arguments (参数),请将此字段留空。

    • 对于 Action on failure (出现故障时的操作),接受默认选项 Continue (继续)).

  5. 选择 Add. 步骤会出现在控制台中,其状态为“Pending”。

  6. 步骤的状态会随着步骤的运行从 “Pending” 变为 “Running”,再变为 “Completed”。要更新状态,请选择 Actions (操作) 列上方的 Refresh (刷新) 图标。

使用 提交 Pig 工作AWS CLI

使用 提交 Pig 步骤AWS CLI

使用 AWS CLI 启动集群时,请使用 --applications 参数安装 Pig。要提交 Pig 步骤,请使用 --steps 参数。

  • 要启动安装了 Pig 的群集并提交 Pig 步骤,请键入以下命令,替换 myKey 替换为您的 EC2 密钥对的名称,并替换 mybucket 替换为您的 Amazon S3 存储桶的名称。

    • aws emr create-cluster --name "Test cluster" --release-label emr-5.32.0 --applications Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge --instance-count 3 \ --steps Type=PIG,Name="Pig Program",ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://mybucket/pig-apache/output]
      注意

      包含了 Linux 行继续符 (\) 以提高可读性。可以在 Linux 命令中删除或使用它们。对于 Windows,请删除它们或将其替换为脱字号 (^)。

    如果不使用 --instance-groups 参数指定实例计数,则将启动单个主节点,其余实例将作为核心节点启动。所有节点都使用该命令中指定的实例类型。

    注意

    如果您之前未创建默认 EMR 服务角色和 EC2 实例配置文件,请先键入 aws emr create-default-roles 创建它们,然后再键入 create-cluster 子命令。

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