2

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

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

例子:

col1假设要遍历一个由和标识的特定用户,在col2中输出该用户的第一个值lookup_col,在本例中为“1”。

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

1 回答 1

1

您可以将其实现为猪 UDF。

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

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

于 2013-09-16T07:57:26.863 回答