1

我在这里看过文档,但我承认我觉得它相当缺乏。我想知道是否有人可以给我一些关于将 Python UDF 合并到 Pig 中的示例。尤其

  • 在 Pig 0.10 之前,布尔类型不存在,但FILTER操作需要将结果解析为布尔值。如果我没有最新版本,我会永远诅咒返回10使用吗?FILTER alias BY py_udf.f(field) > 0
  • Python 是否无法访问、AlgebraicAccumulator接口?Filter
  • 我也不能访问分布式缓存吗?
  • 存储/加载功能呢?
4

2 回答 2

2

Python UDF 非常有限。您不能使用 Algebraic 或 Accumulator 接口,也不能在 Python 中编写 LoadFunc。对于比地图操作更复杂的任何事情,您可能需要求助于 Java UDF。

也就是说,可以在http://ragrawal.wordpress.com/2013/02/24/on-writing-python-udf-for-pig-a-perspective/找到具有动态 outputSchema 的更复杂的 Python UDF 。这可能对您没有帮助,但它会让您更好地理解 Python UDF 可以做什么。

于 2013-04-03T16:23:01.727 回答
0

这可能无法回答您的大多数具体问题,但这篇博文和链接代码包含几个很好的将 Pig 与 Python 结合使用的示例,并且确实包括了 Store/Load 的使用以及它们与 Python 的交互。

于 2013-04-02T19:36:19.730 回答