gpt4 book ai didi

hadoop - 如何使用配置单元/ pig 查找唯一连接数

转载 作者:可可西里 更新时间:2023-11-01 14:44:38 35 4
gpt4 key购买 nike

我有一个如下所示的示例表:

caller   receiver 
100 200
100 300
400 100
100 200

我需要找到每个号码的唯一连接数。例如:100 将具有 200,300 和 400 之类的连接。

我的输出应该是这样的:

100      3  
200 1
300 1
400 1

我正在使用配置单元进行尝试。如果这不能由 hive 完成,那么是否可以由 pig 完成

最佳答案

这是一种方法来满足您的需求(虽然我不完全相信它是最佳的,但我会留给您进行优化)。你需要 this jar ,如何构建非常简单。

查询:

add jar ./brickhouse-0.7.1.jar; -- name and path of yours will be different
create temporary function combine_unique as 'brickhouse.udf.collect.CombineUniqueUDAF';

select connection
, size(combine_unique(arr)) c
from (
select connection, arr
from (
select caller as connection
, collect_set(receiver) arr
from some_table
group by caller ) x
union all
select connection, arr
from (
select receiver as connection
, collect_set(caller) arr
from some_table
group by receiver ) y ) f
group by connection

输出:

connection    c
100 3
200 1
300 1
400 1

关于hadoop - 如何使用配置单元/ pig 查找唯一连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30745223/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com