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 表时,请通过设置mapred.output.direct.NativeS3FileSystemmapred.output.direct.EmrFileSystem属性设置为false。有关更多信息,请参阅使用 HCatalog。在 Pig 脚本中,可使用 Pig 脚本中的SET mapred.output.direct.NativeS3FileSystem falseSET mapred.output.direct.EmrFileSystem false命令。

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

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

emr-5.33.0 的版本信息
亚马逊 EMR 发布版标签 Pig 版本 随 Pig 一起安装的组件

emr-5.0.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