本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
提交 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 存储桶。
使用 Amazon EMR 控制台提交 Pig 工作
此示例介绍如何使用 Amazon EMR 控制台向集群添加 Pig 步骤。
提交 Pig 步骤
在 /emr 上打开亚马逊 EMR 控制台。https://console.aws.amazon.com
-
选择创建集群以创建安装有 Pig 的集群。有关如何创建群集的步骤,请参阅规划和配置 Amazon EMR 集群。
-
按照使用 SSH 连接主节点中概述的步骤,打开终端并 SSH 连接到集群的主节点。完成此操作后,请运行以下步骤。
sudo mkdir -p /home/hadoop/lib/pig/ sudo aws s3 cp s3://elasticmapreduce/libs/pig/0.3/piggybank-0.3-amzn.jar /home/hadoop/lib/pig/piggybank.jar
-
在控制台中,点击 Cluster List (集群列表),并选择您创建的集群。
-
滚动到 Steps (步骤) 部分并展开它,然后选择 Add step (添加步骤)。
-
在 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
。 -
对于 Output S3 location (输出 S3 位置),键入或浏览到您的 Amazon S3 输出存储桶的名称。
-
对于 Arguments (参数),将该字段保留为空白。
-
对于 Action on failure (出现故障时的操作),接受默认选项 Continue (继续)。
-
-
选择 添加。步骤会出现在控制台中,其状态为“Pending”。
-
步骤的状态会随着步骤的运行从“Pending”变为“Running”,再变为“Completed”。要更新状态,请选择 Actions (操作) 列上方的 Refresh (刷新) 图标。步骤完成后,请检查 Amazon S3 存储桶以确认 Pig 步骤的输出文件存在。
使用提交 Pig 作品 AWS CLI
要提交 Pig 步骤,请使用 AWS CLI
使用启动集群时 AWS CLI,使用--applications
参数安装 Pig。要提交 Pig 步骤,请使用 --steps
参数。
-
要启动安装了 Pig 的集群,请键入以下命令,将
myKey
和amzn-s3-demo-bucket/
替换为 EC2 密钥对和 Amazon S3 存储桶的名称。aws emr create-cluster \ --name "
Test cluster
" \ --log-uri s3://amzn-s3-demo-bucket/
\ --release-labelemr-5.36.2
\ --applications Name=Pig \ --use-default-roles \ --ec2-attributes KeyName=myKey
\ --instance-typem5.xlarge
\ --instance-count3
注意
为了便于读取,包含 Linux 行继续符(\)。它们可以通过 Linux 命令删除或使用。对于 Windows,请将它们删除或替换为脱字号 (^)。
如果不使用
--instance-groups
参数指定实例计数,则将启动单个主节点,其余实例将作为核心节点启动。所有节点都使用该命令中指定的实例类型。注意
如果您之前没有创建默认 EMR 服务角色和 EC2 实例配置文件,请在键
aws emr create-default-roles
入子命令之前键入创建它们。create-cluster
-
要提交 Pig 步骤,请输入以下命令,将
myClusterId
和amzn-s3-demo-bucket
替换为您的集群 ID 和 Amazon S3 存储桶的名称。aws emr add-steps \ --cluster-id
myClusterId
\ --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://amzn-s3-demo-bucket
/pig-apache/output]此命令将返回一个步骤 ID,您可以用它来检查您的步骤的
State
。 -
使用带有
describe-step
命令的步骤,查询步骤的状态。aws emr describe-step --cluster-id
myClusterId
--step-ids-1XXXXXXXXXXA
随着步骤的运行,步骤的
State
从PENDING
变为RUNNING
再变为COMPLETED
。步骤完成后,请检查 Amazon S3 存储桶以确认 Pig 步骤的输出文件存在。
有关在中使用 Amazon EMR 命令的更多信息 AWS CLI,请参阅AWS CLI 命令参考。