行转列 将多行的数据合并到一列中 (把每行中的数据聚集到一个数组中)
- collect_set () – 去重
- collect_list (split(str)) 这两个都是聚合函数 将收集的多行数据聚集成一个数组集合
concat (串,符,串。。。。。)拼接 参数是可变参数 拼接字符串
concat_ws(符,数组/map) 参数一 拼接符 参数二 可变个数的字符串 数组
数据:
慧慧 处女座 B
老娜 射手座 A
奔奔 处女座 B
gangge 白羊座 A
taoge 射手座 A
建表:
create table tb_teacher(
name string ,
xz string ,
xx string
)
row format delimited fields terminated by '\t' ;
load data local inpath "/data/tc" into table tb_teacher ;
+------------------+----------------+----------------+
| tb_teacher.name | tb_teacher.xz | tb_teacher.xx |
+------------------+----------------+----------------+
| 慧慧 | 处女座 | B |
| 老娜 | 射手座 | A |