Amazon EMR 的早期 AMI 版本的 Pig 应用程序细节 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon EMR 的早期 AMI 版本的 Pig 应用程序细节

支持的 Pig 版本

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

当您使用 API 安装 Pig 时,除非您在调用期间将 Pig 加载到集群的步骤中指定--pig-versions为参数,否则将使用默认版本RunJobFlow

Pig 版本 AMI 版本 配置参数 Pig 版本详细信息
0.12.0

发布说明

文档

3.1.0 和更高版本

--ami-version 3.1

--ami-version 3.2

--ami-version 3.3

添加对以下各项的支持:

  • 无 JVM 实施对 UDF 进行流式处理

  • ASSERT 和 IN 运算符

  • CASE 表达式

  • AvroStorage 作为 Pig 的内置函数。

  • ParquetLoader 并 ParquetStorer 作为内置函数

  • BigInteger 和 BigDecimal 类型

0.11.1.1

发布说明

文档

2.2 和更高版本

--pig-versions 0.11.1.1

--ami-version 2.2

PigStorage 如果输入位于 Amazon S3 中,则可以提高 LOAD 命令的性能。

0.11.1

发布说明

文档

2.2 和更高版本

--pig-versions 0.11.1

--ami-version 2.2

增加了对 JDK 7、Hadoop 2、Groovy 用户定义函数、 SchemaTuple 优化、新运算符等的支持。有关更多信息,请参阅 Pig 0.11.1 更改日志

0.9.2.2

发布说明

文档

2.2 和更高版本

--pig-versions 0.9.2.2

--ami-version 2.2

添加了对于 Hadoop 1.0.3 的支持。

0.9.2.1

发布说明

文档

2.2 和更高版本

--pig-versions 0.9.2.1

--ami-version 2.2

增加了对 MapR 的支持。

0.9.2

发布说明

文档

2.2 和更高版本

--pig-versions 0.9.2

--ami-version 2.2

包括多项性能改进和错误修复。有关 Pig 0.9.2 的更改的完整信息,请转到 Pig 0.9.2 更改日志

0.9.1

发布说明

文档

2.0

--pig-versions 0.9.1

--ami-version 2.0

0.6

发布说明

1.0

--pig-versions 0.6

--ami-version 1.0

0.3

发布说明

1.0

--pig-versions 0.3

--ami-version 1.0

Pig 版本详细信息

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

Pig 修补

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

Pig 0.11.1.1 修补

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

Pig 0.11.1 补丁

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 补丁

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

状态:Committed (已提交)

已在以下 Apache Pig 版本中修复:0.10

PIG-1824

支持 Jython UDF 中的导入模块。有关更多信息,请转到 https://issues.apache.org/jira/browse/PIG-1824

状态:Committed (已提交)

已在以下 Apache Pig 版本中修复:0.10

PIG-2010

在分布式缓存上捆绑已注册的 JAR。有关更多信息,请转到 https://issues.apache.org/jira/browse/PIG-2010

状态:Committed (已提交)

已在以下 Apache Pig 版本中修复:0.11

PIG-2456

添加 ~/.pigbootup 文件,用户可以在其中指定默认的 Pig 语句。有关更多信息,请转到 https://issues.apache.org/jira/browse/PIG-2456

状态:Committed (已提交)

已在以下 Apache Pig 版本中修复:0.11

PIG-2623

支持使用 Amazon S3 路径注册 UDF。有关更多信息,请转到 https://issues.apache.org/jira/browse/PIG-2623

状态:Committed (已提交)

已在以下 Apache Pig 版本中修复:0.10、0.11

Pig 0.9.1 补丁

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

修补 描述
支持 dfs 中的 JAR 文件和 Pig 脚本

添加对于 HDFS、Amazon S3 或者其他分布式文件系统中存储的运行脚本和已注册 JAR 文件的支持。有关更多信息,请转到 https://issues.apache.org/jira/browse/PIG-1505

状态:Committed (已提交)

已在以下 Apache Pig 版本中修复:0.8.0

支持 Pig 中的多个文件系统

添加对于 Pig 脚本的支持,以便从一个文件系统中读取数据,并写入另一个文件系统。有关更多信息,请转到 https://issues.apache.org/jira/browse/PIG-1564

状态:Not Committed (未提交)

已在以下 Apache Pig 版本中修复:不适用

添加 Piggybank 日期/时间和字符串 UDF

添加日期/时间和字符串 UDF,以支持自定义 Pig 脚本。有关更多信息,请转到 https://issues.apache.org/jira/browse/PIG-1565

状态:Not Committed (未提交)

已在以下 Apache Pig 版本中修复:不适用

交互式的和批处理的 Pig 集群

Amazon EMR 可让您以两种模式运行 Pig 脚本:

  • 交互式

  • 批处理

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

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