如何在hadoop猪中实现查找逻辑

时间:2013-09-16 03:16:29

标签: hadoop apache-pig lookup

嗨,我想知道如何在Hadoop Pig中实现查找逻辑。我有一组记录,比如一个博客用户,需要回去从他第一次访问时获取一些字段(不是当前的)。

这在Java中是可行的,但我们是否有办法在Hadoop pig中实现它。

示例:

假设要遍历由col1col2标识的特定用户,请在lookup_col中输出该用户的第一个值,在这种情况下为“1”。

col1  col2  lookup_col
----  ----  -----
326   8979    1
326   8979    4
326   8979    3
326   8979    0

1 个答案:

答案 0 :(得分:1)

您可以将其实现为猪UDF。

或者,您也可以使用简单的类似SQL的逻辑并按用户聚合访问(不确定如何定义用户以及您计划如何查看用户访问但这是另一回事)并获取第一个然后使用agg_visits左连接用户。

Pig中的'复制连接'实际上是一个在节点之间分布并加载到内存中的集合中的查找。但是,您可以获得多个结果,因为它是JOIN操作,而不是查找 - 因此,如果您事先聚合数据,则确保每个键只有一个记录。