Java UDF on Hadoop 输入参数——从 Pig on Hadoop 调用

Posted

技术标签:

【中文标题】Java UDF on Hadoop 输入参数——从 Pig on Hadoop 调用【英文标题】:Java UDF on Hadoop input parameter -- call from Pig on Hadoop 【发布时间】:2016-05-09 22:07:43 【问题描述】:

如果我在 Pig 中有以下数据结构(关系)并且我想将其传递给 Java UDF,想知道输入参数的相关 Java 数据类型应该是什么?

(学生关系是一个bag,schema是ID as int,一个tuple包含一个interest bag和一个classes bag)。

student: id: int,(interest: (value: chararray),classes: (value: chararray))

提前致谢, 林

【问题讨论】:

【参考方案1】:

我认为可以如下图所示。

 public class BagUdf extends EvalFunc<DataBag> 

public <returnType> exec(Tuple input) throws IOException 
//iterate over the bag elements
for (Tuple t : (DataBag)input.get(0)) 
     // process tuple t

return returnVal;

请参考这个link

【讨论】:

感谢 SurjanSRawat,投票并将您的回复标记为答案。

以上是关于Java UDF on Hadoop 输入参数——从 Pig on Hadoop 调用的主要内容,如果未能解决你的问题,请参考以下文章

hive自定义UDF函数,步骤详解

使用复杂参数的 Azure 流分析 c# UDF on Edge

如何在不指定每一列的情况下将整行作为参数传递给 Spark(Java)中的 UDF?

HIVE 编写自定义函数UDF

使用 jRuby 编写 Hive UDF

如何将 UDF 的输入参数传递给 sapply