我有一个表,其中一列是 array<bigint> 每行的动态大小。例子:
array<bigint>
1 [100,200] 2 [100,300,500,600] 3 [200,300]
结果应该是与此数组列不同的值
100 200 300 500 600
tv6aics11#
尝试
select collect_set(a.expld) from (SELECT explode(arr) as expld FROM data) as a
ej83mcc02#
你必须使用 explode(<column name>) ,然后应用 distinct 在子查询上,类似于:
explode(<column name>)
distinct
select distinct a.conver from ( select explode(arr) as conver from arraytype2 ) as a
然后你可以使用 collect_list 将此转换回 array .
collect_list
array
2条答案
按热度按时间tv6aics11#
尝试
ej83mcc02#
你必须使用
explode(<column name>)
,然后应用distinct
在子查询上,类似于:然后你可以使用
collect_list
将此转换回array
.