

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

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

Apache Pig 是一種在 Hadoop 上執行的開放原始碼 Apache 程式庫，其提供指令碼語言，您可使用這個語言來轉換大型資料集，無需使用 Java 之類的低層級電腦語言來編寫複雜的程式碼。此程式庫會採用以名為 Pig Latin 之語言撰寫的 SQL 類似命令，並有向無環圖 (DAG) 或 MapReduce 程式將這些命令轉換為 Tez 任務。Pig 可處理各種格式的結構化和非結構化資料。如需 Pig 的詳細資訊，請參閱 [http://pig.apache.org/](http://pig.apache.org/)。

您可以互動方式或批次模式執行 Pig 命令。若要以互動方式使用 Pig，建立對主節點的 SSH 連接，並使用 Grunt shell 提交命令。若要以批次模式中使用 Pig，您會撰寫 Pig 指令碼、將它們上傳至 Amazon S3，然後提交作為叢集的步驟。如需有關將工作提交到叢集的詳細資訊，請參閱《Amazon EMR 管理指南》**中的[將工作提交至叢集](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-work-with-steps.html)。

 當您使用 Pig 將輸出寫入至 Amazon S3 中的 HCatalog 資料表，請將 `mapred.output.direct.NativeS3FileSystem` 和 `mapred.output.direct.EmrFileSystem` 屬性設為 `false` 以停用 Amazon EMR 直接寫入。如需詳細資訊，請參閱[使用 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)