Hive的split,explode和lateral view(保姆级教程)

Hive的split,explode和lateral view(保姆级教程),第1张

Hive的split,explode和lateral view(保姆级教程) split函数

split函数:分割字符串,返回值是array
使用desc function split命令查看hive中的split的使用的基本语法。

split函数根据regex来截取字符串,regex是正则表达式。

具体使用:select split(str,',') from student;
split返回值是array,经常搭配explode使用,select explode(split(str,',')) from student;

explode函数和lateral view:

explode函数:将hive中的一列中复杂的array或者map分成多行。
功能:列转行。
使用desc function explode命令查看hive中的split的使用的基本语法。

机翻:将数组的元素分隔为多行,或将贴图的元素分隔为多行和多列。
具体使用:select explode(split(str,',')) from student;
lateral view:侧视图配合explode,一个语句生成把单行数据拆解成多行后的数据结果集。

具体使用:

create table if not exists employee(
	name string,
	work_place array,
	gender_age struct,
	skills_score map,
	depart_title map>
)
comment 'this is an internal table'
row format delimited fields terminated by '|'
collection items terminated by ','
map keys terminated by ':'
lines terminated by 'n';

select name,skill,score from employee lateral view explode(skills_score) sk_sc as skill,score;

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5479352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存