

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

# Amazon EMR 的早期 AMI 版本的 Pig 应用程序细节
<a name="emr-3x-pig"></a>

## 支持的 Pig 版本
<a name="emr-3x-Pig_SupportedVersions"></a>

您可以添加到集群的 Pig 版本取决于您所使用的 Amazon EMR AMI 的版本和 Hadoop 的版本。下表显示的是哪些 AMI 和 Hadoop 版本与哪些 Pig 版本兼容。我们建议使用最新版本的 Pig，以便利用各种性能增强和新的功能。

当您使用 API 安装 Pig 时，除非您在调用期间将 Pig 加载到集群的步骤中指定`--pig-versions`为参数，否则将使用默认版本[RunJobFlow](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_RunJobFlow.html)。


| Pig 版本 | AMI 版本 | 配置参数 | Pig 版本详细信息 | 
| --- | --- | --- | --- | 
| <a name="pig12"></a>0.12.0[发行说明](http://pig.apache.org/releases.html#14+October%2C+2013%3A+release+0.12.0+available)[文档](http://pig.apache.org/docs/r0.12.0/) | 3.1.0 和更高版本 |  `--ami-version 3.1` `--ami-version 3.2` `--ami-version 3.3`  |  添加对以下各项的支持： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/emr/latest/ReleaseGuide/emr-3x-pig.html)  | 
| <a name="pig1111"></a>0.11.1.1[发行说明](http://pig.apache.org/releases.html#1+April%2C+2013%3A+release+0.11.1+available)[文档](http://pig.apache.org/docs/r0.11.1/) | 2.2 和更高版本 |  `--pig-versions 0.11.1.1` `--ami-version 2.2`  |   PigStorage 如果输入位于 Amazon S3 中，则可以提高 LOAD 命令的性能。  | 
| <a name="pig0111"></a>0.11.1[发行说明](http://pig.apache.org/releases.html#1+April%2C+2013%3A+release+0.11.1+available)[文档](http://pig.apache.org/docs/r0.11.1/) | 2.2 和更高版本 |  `--pig-versions 0.11.1` `--ami-version 2.2`  |  增加了对 JDK 7、Hadoop 2、Groovy 用户定义函数、 SchemaTuple 优化、新运算符等的支持。有关更多信息，请参阅 [Pig 0.11.1 更改日志](http://svn.apache.org/repos/asf/pig/tags/release-0.11.1/CHANGES.txt)。  | 
| <a name="pig0922"></a>0.9.2.2[发行说明](http://pig.apache.org/releases.html#22+January%2C+2012%3A+release+0.9.2+available)[文档](http://pig.apache.org/docs/r0.9.2/index.html) | 2.2 和更高版本 |  `--pig-versions 0.9.2.2` `--ami-version 2.2`  |  添加了对于 Hadoop 1.0.3 的支持。  | 
| <a name="pig0921"></a>0.9.2.1[发行说明](http://pig.apache.org/releases.html#22+January%2C+2012%3A+release+0.9.2+available)[文档](http://pig.apache.org/docs/r0.9.2/index.html) | 2.2 和更高版本 |  `--pig-versions 0.9.2.1` `--ami-version 2.2`  |  增加了对 MapR 的支持。  | 
| <a name="pig092"></a>0.9.2[发行说明](http://pig.apache.org/releases.html#22+January%2C+2012%3A+release+0.9.2+available)[文档](http://pig.apache.org/docs/r0.9.2/index.html) | 2.2 和更高版本 |  `--pig-versions 0.9.2` `--ami-version 2.2`  |  包括多项性能改进和错误修复。有关 Pig 0.9.2 的更改的完整信息，请转到 [Pig 0.9.2 更改日志](http://svn.apache.org/repos/asf/pig/tags/release-0.9.2/CHANGES.txt)。  | 
| <a name="pig091"></a>0.9.1[发行说明](http://pig.apache.org/releases.html#5+October%2C+2011%3A+release+0.9.1+available)[文档](http://pig.apache.org/docs/r0.9.1/) | 2.0 |  `--pig-versions 0.9.1` `--ami-version 2.0`  | 
| <a name="pig06"></a>0.6[发行说明](http://pig.apache.org/releases.html#1+March%2C+2010%3A+release+0.6.0+available) | 1.0 |  `--pig-versions 0.6` `--ami-version 1.0`  | 
| <a name="pig03"></a>0.3[发行说明](http://pig.apache.org/releases.html#25+June%2C+2009%3A+release+0.3.0+available) | 1.0 |  `--pig-versions 0.3` `--ami-version 1.0`  | 

## Pig 版本详细信息
<a name="emr-pig-version-details"></a>

Amazon EMR 支持可能应用了其他 Amazon EMR 补丁的某些 Pig 版本。您可以配置要在 Amazon EMR 集群上运行的 Pig 版本。有关此操作的详细信息，请参阅 [Apache Pig](emr-pig.md)。以下部分介绍了各种 Pig 版本以及应用到 Amazon EMR 上所加载版本的修补程序。

### Pig 修补
<a name="EnvironmentConfig_AMIPigPatches"></a>

本节介绍应用到 Amazon EMR 可用的 Pig 版本的自定义修补程序。

#### Pig 0.11.1.1 修补
<a name="EnvironmentConfig_AMIPigPatches-0.11.1.1"></a>

Amazon EMR 版本的 Pig 0.11.1.1 是一个维护版本， PigStorage 如果输入位于亚马逊 S3 中，则可以提高加载命令的性能。

#### Pig 0.11.1 补丁
<a name="EnvironmentConfig_AMIPigPatches-0.11.1"></a>

Amazon EMR 版本的 Pig 0.11.1 包含 Apache Software Foundation 提供的所有更新以及从 Pig 0.9.2.2 版本开始累积的 Amazon EMR 补丁。但是，Pig 0.11.1 中没有特定于 Amazon EMR 的新补丁。

#### Pig 0.9.2 补丁
<a name="EnvironmentConfig_AMIPigPatches-0.9.2"></a>

Apache Pig 0.9.2 是 Pig 的维护版。Amazon EMR 团队已将以下补丁应用到 Amazon EMR 版本的 Pig 0.9.2。


| 修补 | 说明 | 
| --- | --- | 
|  PIG-1429  |   将布尔数据类型以第一个类数据类型的形式添加到 Pig。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-1429](https://issues.apache.org/jira/browse/PIG-1429)。  **状态：**Committed (已提交)   **已在以下 Apache Pig 版本中修复：**0.10   | 
|  PIG-1824  |   支持 Jython UDF 中的导入模块。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-1824](https://issues.apache.org/jira/browse/PIG-1824)。  **状态：**Committed (已提交)   **已在以下 Apache Pig 版本中修复：**0.10   | 
|  PIG-2010  |   在分布式缓存 JARs 上注册的捆绑包。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-2010](https://issues.apache.org/jira/browse/PIG-2010)。  **状态：**Committed (已提交)   **已在以下 Apache Pig 版本中修复：**0.11   | 
|  PIG-2456  |   添加 \$1/.pigbootup 文件，用户可以在其中指定默认的 Pig 语句。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-2456](https://issues.apache.org/jira/browse/PIG-2456)。  **状态：**Committed (已提交)   **已在以下 Apache Pig 版本中修复：**0.11   | 
|  PIG-2623  |   Support 支持使用 Amazon S3 路径进行注册 UDFs。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-2623](https://issues.apache.org/jira/browse/PIG-2623)。  **状态：**Committed (已提交)   **已在以下 Apache Pig 版本中修复：**0.10、0.11   | 

#### Pig 0.9.1 补丁
<a name="EnvironmentConfig_AMIPigPatches-0.9.1"></a>

Amazon EMR 团队已将以下补丁应用到 Amazon EMR 版本的 Pig 0.9.1。


| 修补 | 说明 | 
| --- | --- | 
|  支持 dfs 中的 JAR 文件和 Pig 脚本  |   添加对于 HDFS、Amazon S3 或者其他分布式文件系统中存储的运行脚本和已注册 JAR 文件的支持。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-1505](https://issues.apache.org/jira/browse/PIG-1505)。  **状态：**Committed (已提交)   **已在以下 Apache Pig 版本中修复：**0.8.0   | 
|  支持 Pig 中的多个文件系统  |   添加对于 Pig 脚本的支持，以便从一个文件系统中读取数据，并写入另一个文件系统。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-1564](https://issues.apache.org/jira/browse/PIG-1564)。  **状态：**Not Committed (未提交)   **已在以下 Apache Pig 版本中修复：**不适用   | 
|  添加 Piggybank 日期时间和字符串 UDFs  |   添加日期时间和字符串 UDFs 以支持自定义 Pig 脚本。欲了解更多信息，请访问 [https://issues.apache。 org/jira/browse/PIG-1565](https://issues.apache.org/jira/browse/PIG-1565)。  **状态：**Not Committed (未提交)   **已在以下 Apache Pig 版本中修复：**不适用   | 

## 交互式的和批处理的 Pig 集群
<a name="emr-3x-pig-interactive-batch"></a>

Amazon EMR 可让您以两种模式运行 Pig 脚本：
+ 交互式
+ Batch

当你使用控制台或启动长时间运行的集群时 AWS CLI，你可以以 Hadoop 用户的身份使用连接到主节点，**ssh**然后使用 Grunt shell 以交互方式开发和运行 Pig 脚本。以交互方式使用 Pig，您就可以比批处理方式更轻松地修改 Pig 脚本。以交互模式成功修改 Pig 脚本之后，可以将脚本上传到 Amazon S3，并使用批处理模式在生产环境中运行该脚本。您还可以根据需要，在正在运行的集群中以交互方式提交 Pig 命令来分析和转换数据。

在批处理模式下，需要将 Pig 脚本上传到 Amazon S3，然后作为操作步骤将此工作提交到集群。Pig 步骤可提交到长时间运行的集群或临时集群。