我在这里看过纪录片,但我承认我觉得它相当缺乏。 我想知道是否有人可以给我收集有关将Python UDF合并到Pig中的示例。 特别
- 在 Pig 0.10 之前,布尔类型不存在,但
FILTER
运算需要结果解析为布尔值。 如果我没有最新版本,我是否永远被诅咒返回1
或0
并使用FILTER alias BY py_udf.f(field) > 0
? Algebraic
、Accumulator
和Filter
接口无法从 Python 访问吗?- 我也可以无法访问分布式缓存吗?
- 存储/加载功能呢?
Python UDF非常有限。你不能使用代数或累加器接口,也不能用Python编写LoadFunc。对于比映射操作更复杂的任何操作,您可能需要求助于 Java UDF。
也就是说,可以在 http://ragrawal.wordpress.com/2013/02/24/on-writing-python-udf-for-pig-a-perspective/找到具有动态输出模式的更复杂的Python UDF。这可能对你没有帮助,但它会让你更好地理解Python UDF可以做什么。
这可能无法回答您的大多数具体问题,但是这篇博客文章和链接代码包含几个将Pig与Python一起使用的良好示例,并且确实包括Store/Load的使用以及它们与Python的交互。