我有一张table。其中一列的类型为 array<string>
. 我尝试对此表运行查询,然后将数据加载到文件中。
这是查询
Select concat(key, '|'
, code, '|'
, round(sum(amt), 4), '|'
, count(*)
, collect_set(comment))
from test_agg
where TIME_KEY = '2017-02-19'
group by key, code;
但是我犯了个错误
FAILED: UDFArgumentTypeException Only primitive type arguments are accepted but array<string> was passed as parameter 1.
我知道我不能传递函数a array<string>
,但我能做什么呢? comment
是类型的列 array<string>
我就是这样做的。
hive -f CALC_FILE.sql > 20170220.txt
2条答案
按热度按时间jaql4c8m1#
使用
concat_ws
转换comment
数组到字符串,将collect_set
结果,然后将其连接到其余列w9apscun2#
尝试使用: