

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

# Apache Pig
<a name="emr-pig"></a>

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

您可以通过交互方式或批处理方式执行 Pig 命令。要以交互方式使用 Pig，请创建到主节点的 SSH 连接，并使用 Grunt Shell 提交命令。要以批处理方式使用 Pig，请编写 Pig 脚本，将脚本上传到 Amazon S3，并作为集群步骤提交。有关向集群提交工作的更多信息，请参阅《Amazon EMR 管理指南》**中的[向集群提交工作](https://docs.amazonaws.cn/emr/latest/ManagementGuide/emr-work-with-steps.html)。

 当您使用 Pig 将输出写入 Amazon S3 中的 HCatalog 表时，请通过将`mapred.output.direct.NativeS3FileSystem`和`mapred.output.direct.EmrFileSystem`属性设置为来禁用 Amazon EMR 直接写入。`false`有关更多信息，请参阅 [使用 HCatalog](emr-hcatalog-using.md)。在 Pig 脚本中，可使用 `SET mapred.output.direct.NativeS3FileSystem false` 和 `SET mapred.output.direct.EmrFileSystem false` 命令。

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

有关此版本中与 Pig 一起安装的组件的版本，请参阅 [7.12.0 版组件版本](emr-7120-release.md)。


**emr-7.12.0 的 Pig 版本信息**  

| Amazon EMR 发行版标签 | Pig 版本 | 随 Pig 安装的组件 | 
| --- | --- | --- | 
| emr-7.12.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-hdfs-zkfc, hadoop-httpfs-server, hadoop-kms-server, hadoop-yarn-nodemanager, hadoop-yarn-resourcemanager, hadoop-yarn-timeline-server, pig-client, tez-on-yarn, tez-on-worker | 

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

有关此发行版中随 Pig 安装的组件版本，请参阅[发行版 6.15.0 组件版本](emr-6150-release.md)。


**emr-6.15.0 的 Pig 版本信息**  

| Amazon EMR 发行版标签 | Pig 版本 | 随 Pig 安装的组件 | 
| --- | --- | --- | 
| emr-6.15.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, tez-on-worker | 

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

有关此发行版中随 Pig 安装的组件版本，请参阅[发行版 5.36.2 组件版本](emr-5362-release.md)。


**emr-5.36.2 的 Pig 版本信息**  

| Amazon EMR 发行版标签 | Pig 版本 | 随 Pig 安装的组件 | 
| --- | --- | --- | 
| emr-5.36.2 | 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 | 

**Topics**
+ [提交 Pig 工作](emr-pig-launch.md)
+ [从 Pig 调用由用户定义的函数](emr-pig-udf.md)
+ [Pig 发行历史记录](Pig-release-history.md)