在 Hive 中实现将一个字段的多条记录拼接成一个记录:
1 hive> desc t; 2 OK 3 id string 4 str string 5 Time taken: 0.249 seconds 6 hive> select * from t; 7 OK 8 1 A 9 1 B 10 2 C 11 2 D 12 Time taken: 0.209 seconds
在Hive0.9中,可用:
SELECT id,
concat_ws('|', collect_set(str))
FROM t
GROUP BY id;
得到结果:
1 A|B
2 C|D
但在hive0.7中不容易实现,concat_ws函数不支持Array。