如果我使用构造函数
编写自定义加载函数MyLoadFunction(String someOptions, DataBag myBag)
如何用piglatin执行此功能?
X = load 'foo.txt' using MyLoadFunction('myString', myBagAlias);
这不起作用,甚至可能吗?
感谢
答案 0 :(得分:0)
我不确定你的需要是否适合猪。 Pig就是要加载大量数据,然后将数据放入管道中。听起来你想要更多程序化的东西,加载少量数据,做一些处理,根据它做出决定,并按照该算法完成。
所以我不确定这是你最好的方法,但是你可以尝试编写一个能够访问HBase并获取所需数据的UDF。 LOAD
在这里不合适,因为LOAD
不会返回一个包,它会返回Pig希望您通过某些转换进行的关系。但是您可以将一个包作为输入传递给UDF,然后在该UDF内部执行您想要执行的HBase查找和处理。
更多Pig-ish做事方式是将所有相关的HBase数据加载到一个或多个关系中,然后根据需要执行JOIN
以组合您想要的数据。< / p>