Amazon EMR
Amazon EMR 版本指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

支持的 Pig 版本

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

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

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

改进了在输入位于 Amazon S3 中的情况下 LOAD 命令针对 PigStorage 的性能。

0.11.1

发布说明

文档

2.2 和更高版本

--pig-versions 0.11.1

--ami-version 2.2

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

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 Change Log

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 一个维护版,改进了在输入位于 Amazon S3 中的情况下 LOAD 命令针对 PigStorage 的性能。

Pig 0.11.1 修补

Amazon EMR 版本的 Pig 0.11.1 包含 Apache 软件基金会提供的所有更新以及从 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 脚本:

  • 交互式

  • 批处理

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

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