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

fsi0uk1n  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(268)

嗨,我想知道如何在hadoop pig中实现查找逻辑。我有一组记录,比如说一个weblog用户的记录,需要回去从他的第一次访问(不是当前访问)中获取一些字段。
这在java中是可行的,但是我们有没有办法在hadoop中实现呢。
例子:
假设遍历一个特定的用户,由 col1 以及 col2 ,输出中该用户的第一个值 lookup_col ,在本例中为“1”。

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

cuxqih211#

您可以将其实现为pig udf。
或者,您也可以使用简单的类似sql的逻辑,按用户聚合访问(不确定如何定义用户以及计划如何查找按用户访问,但这是另一回事)并获取第一个,然后使用agg\ u访问将用户加入。
pig中的“复制连接”本质上是对分布在节点之间并加载到内存中的集合的查找。但是,您可以得到不止一个结果,因为它是一个联接操作,而不是一个查找操作—因此,如果您事先聚合了数据,那么您可以确保每个键只有一个记录。

相关问题