既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
0.lateral view简介
hive函数 lateral view 主要功能是将原本汇总在一条(行)的数据拆分成多条(行)成虚拟表,再与原表进行笛卡尔积,从而得到明细表。配合UDTF函数使用,一般情况下经常与explode函数搭配,explode的操作对象(列值)是 ARRAY 或者 MAP ,可以通过 split 函数将 String 类型的列值转成 ARRAY 来处理。
炸裂函数配合侧视图使用如下
格式:select 原表别名.字段名,侧视图名.字段名 from 原表 原表别名 lateral view explode(要炸开的字段) 侧视图名 as 字段名 ;
1.行转列
– 数据准备
–建表
create table row2col2(
col1 string,
col2 string,
col3 int
)row format delimited fields terminated by '\t';
–加载数据到表中
load data inpath '/input/r2c2.txt' into table row2col2;
– 验证数据
select * from row2col2;
需求1:
需求1: 把原表数据变成以下格式
a b [1,2,3]
c d [4,5,6]
思路:使用collect_list()函数有序不去重
select
col1,
col2,
collect_list(col3) -- 先将col3收集
from row2col2
group by
col1, col2;
需求2:
需求2: 把原表数据变成以下格式
a b ‘1-2-3’
c d ‘4-5-6’
思路:1,2,3已经知道怎么收集了,可以用concat来将这几个数字与符号-拼接起来
concat_ws():函数在连接字符串的时候,只要有一个字符串不是NULL,就不会返回NULL。concat_ws():函数需要指定分隔符。
但concat_ws只支持拼接字符串,所以需要先用cast强转成字符串
- cast(内容 as 类型)
- concat_ws的格式: select concat_ws(‘要拼接的分隔符’,‘字符串1’,‘字符串2’);
select col1,col2,
concat_ws('-',(collect_list(cast(col3 as string))))
from row2col2
group by col1, col2
;
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**