0

如果我使用构造函数编写自定义加载函数

MyLoadFunction(String someOptions, DataBag myBag)

如何使用 piglatin 执行此功能?

X = load 'foo.txt' using MyLoadFunction('myString', myBagAlias);

这不起作用,甚至可能吗?

谢谢

4

1 回答 1

0

我不确定您的需求是否适合 Pig。Pig 就是加载大量数据,然后将这些数据放入管道中。听起来您想要一些更程序化的东西,加载少量数据,进行一些处理,基于此做出决定,然后按照该算法完成。

所以我不确定这对你来说是不是最好的方法,但你可以尝试编写一个 UDF 来访问 HBase 并获取你需要的数据。 LOAD在这里不合适,因为LOAD它不返回包,它返回 Pig 期望您进行一些转换的关系。但是您可以将一个包作为输入传递给 UDF,然后在该 UDF 中执行您想要执行的 HBase 查找和处理。

一种更猪的做事方式是将所有相关的 HBase 数据加载到一个或多个关系中,然后JOIN根据需要将所需的数据组合在一起。

于 2013-08-21T18:03:33.970 回答