阵列相交的蜂巢



我在蜂巢中有两个字符串数数,例如

{'value1','value2','value3'}
{'value1', 'value2'}

我想合并无重复的数组,结果:

{'value1','value2','value3'}

我如何在Hive中进行?

本机解决方案可能是:

SELECT id, collect_set(item)
FROM table
LATERAL VIEW explode(list) lTable AS item
GROUP BY id;

首先用横向观看爆炸,然后通过collect_set删除重复。

您将需要一个UDF。Klout包裹有一堆Opensource Hivudfs砖房。这是GitHub链接。他们有一堆UDF,完全可以满足您的目的。下载,构建并添加罐子。这是一个示例

CREATE TEMPORARY FUNCTION combine AS 'brickhouse.udf.collect.CombineUDF';
CREATE TEMPORARY FUNCTION combine_unique AS 'brickhouse.udf.collect.CombineUniqueUDAF';
select combine_unique(combine(array('a','b','c'), array('b','c','d'))) from reqtable;
OK
["d","b","c","a"]

相关内容

  • 没有找到相关文章

最新更新