我有一个表格,其中一列类型为array<bigint>
,每行都有动态大小。
例如:
1 [100,200]
2 [100,300,500,600]
3 [200,300]
结果应该是此列数组的不同值,应为
100
200
300
500
600
答案 0 :(得分:8)
你必须使用hive的explode()函数。然后在子查询上应用distinct。
像
这样的东西select distinct a.conver from (select explode(arr) as conver from arraytype2) as a
希望有所帮助!
答案 1 :(得分:0)
尝试
select collect_set(a.expld) from (SELECT explode(arr) as expld FROM data) as a