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

Apache Pig

Apache Pig 是一个开源 Apache 库,它在 Hadoop 的顶层运行,提供一种脚本语言,您可以用来转换大型数据集,而不必用底层计算机语言 (例如 Java) 编写复杂的代码。该库使用一种叫做 Pig Latin 的语言编写的、类似 SQL 的命令,并基于有向无环图 (DAG) 或 MapReduce 程序将这些命令转换为 Tez 任务。Pig 可与各种格式的结构化和非结构化数据结合使用。有关 Pig 的详细信息,请参阅 http://pig.apache.org/

您可以通过交互方式或批处理方式执行 Pig 命令。要以交互方式使用 Pig,请创建到主节点的 SSH 连接,并使用 Grunt 外壳提交命令。要以批处理方式使用 Pig,请编写 Pig 脚本,将脚本上传到 Amazon S3,并作为集群步骤提交。有关向集群提交工作的更多信息,请参阅《Amazon EMR 管理指南》中的向集群提交工作

当您使用 Pig 将输出写入 Amazon S3 中的 HCatalog 表时,请通过以下方式禁用 Amazon EMR 直接写入:将 mapred.output.direct.NativeS3FileSystemmapred.output.direct.EmrFileSystem 属性设置为 false。有关更多信息,请参阅使用 HCatalog。在 Pig 脚本中,可使用 SET mapred.output.direct.NativeS3FileSystem falseSET mapred.output.direct.EmrFileSystem false 命令。

下表列出了 Amazon EMR 6.x 系列的最新发行版附带的 Pig 的版本,以及 Amazon EMR 随 Pig 一起安装的组件。

有关此发行版中随 Pig 一起安装的组件的版本,请参阅发行版 6.5.0 组件版本

emr-6.5.0 的 Pig 版本信息
Amazon EMR 发行版标签 Pig 版本 随 Pig 安装的组件

emr-6.5.0

Pig 0.17.0

emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, pig-client, tez-on-yarn

下表列出了 Amazon EMR 5.x 系列的最新发行版附带的 Pig 的版本,以及 Amazon EMR 随 Pig 一起安装的组件。

有关此发行版中随 Pig 一起安装的组件的版本,请参阅发行版 5.34.0 组件版本

emr-5.34.0 的 Pig 版本信息
Amazon EMR 发行版标签 Pig 版本 随 Pig 安装的组件

emr-5.34.0

Pig 0.17.0

emrfs, emr-ddb, emr-goodies, emr-kinesis, emr-s3-dist-cp, hadoop-client, hadoop-mapred, hadoop-hdfs-datanode, hadoop-hdfs-library, hadoop-hdfs-namenode, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, pig-client, tez-on-yarn