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的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 Pig 脚本中将参数传递给 UDF 吗?

将 UDF 方法作为参数传递给 KSQL 中的其他 UDF

Pyspark 将函数作为参数传递给 UDF

将列表作为参数传递给 udf 方法

将查询作为参数传递给 udf 函数

如何将 Set/HashSet 作为参数传递给 Spark 中的 UDF?