如何在hive

时间:2015-11-19 10:15:06

标签: hadoop hive

我有一个表格,其中一列类型为array<bigint>,每行都有动态大小。 例如:

          1  [100,200] 
          2  [100,300,500,600]
          3  [200,300]

结果应该是此列数组的不同值,应为

100
200
300
500
600

2 个答案:

答案 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