Pig 版本和 UDF

Posted

技术标签:

【中文标题】Pig 版本和 UDF【英文标题】:Pig versions and UDF 【发布时间】:2014-08-12 14:42:22 【问题描述】:

我使用 pig 版本为 0.12,但为了创建 UDF,我使用的是 Pig 0.9 版本的 jar 文件。 我只是下载了 Pig 0.9 版本的 jar 文件并将其添加到我的 eclipse 类路径中。 我使用 Pig 0.9 版本 API 创建的所有 UDF 都可以正常工作。 但我想知道对此的影响。 以后有什么问题吗

【问题讨论】:

一般建议 - 在运行时尝试使用 pig 0.12 版,看看 UDF 是否工作正常。 是的。它在集群中工作正常。 pig 版本 n 集群是 0.12 【参考方案1】:

随着时间的推移,您将面临的问题是 API 不一致。一些核心 API 相对稳定。哎呀,大多数。但是,您使用旧 Pig API 的时间越长,您在集群中运行时遇到问题的可能性就越大。

要考虑的其他事情是您是否在集群中覆盖了您的 Pig 版本。例如,假设您有一个包含 pig 脚本的 uber-jar。如果该 JAR 包含 Pig v.09,那么您实际上将使用该版本而不是 .12。如果不迁移,您可能会引入错误版本的 Pig。

【讨论】:

以上是关于Pig 版本和 UDF的主要内容,如果未能解决你的问题,请参考以下文章

Pig 中的 Python UDF

在 Jython 的 Pig UDF 中导入外部库时出现错误 1121

在 Talend 中实现 UDF 和 Pig 脚本逻辑

PIG- udf 内的超时

Pig 中 UDF 中 Jython 的限制

Unix Shell 脚本作为 Pig 和 Hive 的 UDF