我有一个名为graph_table的表,其中包含2列
node_id INT
neighbour_id INT
我需要运行以下选择查询
SELECT node_id, aggregater_func( neighbour_id ) as neighbourhood FROM graph_table GROUP BY node_id
aggregater_func将邻居聚合为MAP <INT(neighbour_id), INT(frequency)>
这个aggregater_func应该是什么?
答案 0 :(得分:0)
你不能用原生HQL做到这一点。
但是使用Facebook的PrestoDB,您可以获得直方图功能
来自https://prestodb.io/docs/current/functions/aggregate.html:
histogram(x)→map返回包含计数的映射 每个输入值出现的次数。
或者它可能存在于UDF中以在HQL上使用地图,例如https://github.com/klout/brickhouse。我不太了解,但你可以尝试一下。
答案 1 :(得分:-1)
尝试以下方法:
select node,SUM(neighbour)
from #neighbourhood
group by node