– 行转列,列转行
一: hive版本
孙悟空 白羊座 A
大海 射手座 A
宋宋 白羊座 B
猪八戒 白羊座 A
凤姐 射手座 A
苍老师 白羊座 B
结果如下:
射手座,A 大海|凤姐
白羊座,A 孙悟空|猪八戒
白羊座,B 宋宋|苍老师
SELECT t1.c_b , CONCAT_WS("|",collect_set(t1.name))
FROM (
SELECT NAME ,CONCAT_WS(’,’,constellation,blood_type) c_b
FROM person_info
)t1
GROUP BY t1.c_b
二: ClickHouse版本
arrayStringConcat
- 创建表并导入数据
create table xx (
name String,
xz String,
xx String
) engine = Log;
clickhouse-client -q ‘insert into xx FORMAT TSV’ < /data/xx.txt
SELECT
xxxz,
groupArray(name)
FROM
(SELECT
name,
concat(xz,’,’,xx) as xxxz
FROM
xx)
GROUP BY xxxz;
3.
SELECT
xxxz,
arrayStringConcat(groupArray(name),’|’) as concat_col
FROM
(SELECT
name,
concat(xz,’,’,xx) as xxxz
FROM
xx)
GROUP BY xxxz;
三:列转行
movie category
《疑犯追踪》
数据库转换与操作:Hive与ClickHouse的示例解析

本文介绍了如何在Hive和ClickHouse中进行数据转换,包括行转列和列转行的操作。在Hive中,通过`collect_set`和`CONCAT_WS`实现数据聚合与连接;而在ClickHouse中,使用`arrayStringConcat`和`groupArray`达到相同效果。此外,还展示了如何将电影类别从列转为行,利用`explode`和`split`函数进行处理。
最低0.47元/天 解锁文章
2171

被折叠的 条评论
为什么被折叠?



