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

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

提交 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 中您自己的存储桶中替换此脚本。

使用亚马逊 EMR 控制台提交猪工作

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

提交 Pig 步骤

  1. 打开 Amazon EMR 控制台https://console.aws.amazon.com/elasticmapreduce/

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

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

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

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

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

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

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

    • 适用于输出 S3 位置中,键入或浏览到您的 Amazon S3 输出存储桶的名称。

    • 对于 Arguments (参数),将该字段保留为空白。

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

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

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

提交猪工作使用Amazon CLI

使用 Amazon CLI 提交 Pig 步骤

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

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

    • aws emr create-cluster --name "Test cluster" --release-label emr-5.33.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 命令的更多信息,请参阅Amazon CLI,请参阅https://docs.amazonaws.cn/cli/latest/reference/emr