Pig 将关系作为参数传递给 UDF
Posted
技术标签:
【中文标题】Pig 将关系作为参数传递给 UDF【英文标题】:Pig pass relation as argument to UDF 【发布时间】:2015-01-19 11:26:08 【问题描述】:我需要将关系传递给 PIG 中的 UDF
articles = load x using ...;
groupedArticles = udfs.MyUDF(articles);
这样的事情可能吗?有什么解决方法吗?
谢谢
【问题讨论】:
之后需要做什么?第一个建议是通过每一列。 是的,但我需要处理手头的所有元组,而不是一次处理一个。 【参考方案1】:我猜你的意思是将关系的所有字段传递给 UDF?传递关系没有意义。无论如何,这取决于您的负载语句的外观。如果您将每个条目加载为元组 load x using ... as (entry:(a:int, b:chararray, ...))
而不是将其传递给 UDF,例如 groupedArticles = foreach articles generate udfs.MyUDF(entry)
将整行作为元组传递可能是最通用的方式,但您必须在 UDF 中处理通用元组。
【讨论】:
以上是关于Pig 将关系作为参数传递给 UDF的主要内容,如果未能解决你的问题,请参考以下文章