

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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-versions` 做為呼叫 [RunJobFlow](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_RunJobFlow.html) 期間，將 Pig 載入到叢集上的步驟引數。


| 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)<br />[文件](http://pig.apache.org/docs/r0.12.0/) | 3.1.0 版和更新版本 | `--ami-version 3.1`<br />`--ami-version 3.2`<br />`--ami-version 3.3` | 新增下列項目的支援：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/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)<br />[文件](http://pig.apache.org/docs/r0.11.1/) | 2.2 版和更新版本 | `--pig-versions 0.11.1.1`<br />`--ami-version 2.2` | 如果輸入存在於 Amazon S3 中，則使用 PigStorage 來改善 LOAD 命令的效能。 | 
| <a name="pig0111"></a>0.11.1[版本備註](http://pig.apache.org/releases.html#1+April%2C+2013%3A+release+0.11.1+available)<br />[文件](http://pig.apache.org/docs/r0.11.1/) | 2.2 版和更新版本 | `--pig-versions 0.11.1`<br />`--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)<br />[文件](http://pig.apache.org/docs/r0.9.2/index.html) | 2.2 版和更新版本 | `--pig-versions 0.9.2.2`<br />`--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)<br />[文件](http://pig.apache.org/docs/r0.9.2/index.html) | 2.2 版和更新版本 | `--pig-versions 0.9.2.1`<br />`--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)<br />[文件](http://pig.apache.org/docs/r0.9.2/index.html) | 2.2 版和更新版本 | `--pig-versions 0.9.2`<br />`--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)<br />[文件](http://pig.apache.org/docs/r0.9.1/) | 2.0 | `--pig-versions 0.9.1`<br />`--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`<br />`--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`<br />`--ami-version 1.0` | 

## Pig 版本詳細資訊
<a name="emr-pig-version-details"></a>

Amazon EMR 支援特定 Pig 版本，這些版本可能已套用其他 Amazon EMR 修補程式。您可以設定哪些 Pig 版本要在 Amazon EMR 叢集上執行。如需如何進行該服務的詳細資訊，請參閱[Apache Pig](emr-pig.md)。下列各章節描述了在 Amazon EMR 上載入版本所套用的不同的 Pig 版本和修補程式。

### Pig 修補程式
<a name="EnvironmentConfig_AMIPigPatches"></a>

本章節描述了套用到 Amazon EMR 提供之 Pig 版本的自訂修補程式。

#### Pig 0.11.1.1 修補程式
<a name="EnvironmentConfig_AMIPigPatches-0.11.1.1"></a>

Pig 0.11.1.1 的 Amazon EMR 版本是一種維護版本，如果輸入位於 Amazon S3 中，其會使用 PigStorage 提升 LOAD 命令的效能。

#### Pig 0.11.1 修補程式
<a name="EnvironmentConfig_AMIPigPatches-0.11.1"></a>

Pig 0.11.1 的 Amazon EMR 版本包含 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 小組已將以下修補程式套用至 Pig 0.9.2 的 Amazon EMR 版本。


| 修補程式 | Description | 
| --- | --- | 
|  PIG-1429  |  將布林值資料類型新增至 Pig 做為第一個類別資料類型。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-1429](https://issues.apache.org/jira/browse/PIG-1429)。<br /> **Status: (狀態：)** 已認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** 0.10  | 
|  PIG-1824  |  支援在 Jython UDF 中的匯入模組。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-1824](https://issues.apache.org/jira/browse/PIG-1824)。<br /> **Status: (狀態：)** 已認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** 0.10  | 
|  PIG-2010  |  分散式快取時的套件註冊 JAR。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-2010](https://issues.apache.org/jira/browse/PIG-2010)。<br /> **Status: (狀態：)** 已認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** 0.11  | 
|  PIG-2456  |  新增 \~/.pigbootup 檔案，其中使用者可以指定預設 Pig 陳述式。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-2456](https://issues.apache.org/jira/browse/PIG-2456)。<br /> **Status: (狀態：)** 已認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** 0.11  | 
|  PIG-2623  |  支援使用 Amazon S3 路徑以註冊 UDF。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-2623](https://issues.apache.org/jira/browse/PIG-2623)。<br /> **Status: (狀態：)** 已認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** 0.10、0.11  | 

#### Pig 0.9.1 修補程式
<a name="EnvironmentConfig_AMIPigPatches-0.9.1"></a>

Amazon EMR 小組已將以下修補程式套用至 Pig 0.9.1 的 Amazon EMR 版本。


| 修補程式 | Description | 
| --- | --- | 
|  在 dfs 中支援 JAR 檔案和 Pig 指令碼  |  新增支援在 HDFS、Amazon S3 或其他分散式檔案系統中存放的執行中指令碼和註冊 JAR 檔案。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-1505](https://issues.apache.org/jira/browse/PIG-1505)。<br /> **Status: (狀態：)** 已認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** 0.8.0  | 
|  在 Pig 中支援多個檔案系統  |  新增支援 Pig 指令碼，可讓您將資料從一個檔案系統讀取和寫入至另一個檔案系統。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-1564](https://issues.apache.org/jira/browse/PIG-1564)。<br /> **Status: (狀態：)** 未認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** n/a  | 
|  新增 Piggybank 日期時間和字串 UDF  |  新增日期時間和字串 UDF，以支援自訂的 Pig 指令碼。如需詳細資訊，請參閱 [https://issues.apache.org/jira/browse/PIG-1565](https://issues.apache.org/jira/browse/PIG-1565)。<br /> **Status: (狀態：)** 未認可 <br /> **Fixed in Apache Pig Version: (在 Apache Pig 版本中已修正：)** n/a  | 

## 互動式和批次 Pig 叢集
<a name="emr-3x-pig-interactive-batch"></a>

Amazon EMR 可讓您以兩種模式執行 Pig 指令碼：
+ 互動性
+ 批次

當您使用主控台或 啟動長時間執行的叢集時 AWS CLI，您可以使用 以 Hadoop 使用者身分連接至**ssh**主節點，並使用 Grunt shell 以互動方式開發和執行 Pig 指令碼。以互動方式使用 Pig 可讓您以較批次模式還輕鬆的方式來修訂 Pig 指令碼。在您以互動式模式成功修訂 Pig 指令碼，您可以將指令碼上傳至 Amazon S3，並使用批次模式來在生產中執行指令碼。您也可以在執行中叢集上以互動方式提交 Pig 命令來依需要分析和轉換資料。

在批次模式中，您會將 Pig 指令碼上傳至 Amazon S3，然後將工作提交到叢集作為一步驟。您可以將 Pig 步驟提交到長時間執行的叢集或暫時性叢集。