HIVE SQL通过Lateral View + explode实现列转行

原表:

a b
Andy <碟中谍>,<谍影重重>,<007>
MOMO <小鞋子>,<朋友啊你的家在哪里>

实现效果

a b
Andy <碟中谍>
Andy <谍影重重>
Andy <007>
MOMO <小鞋子>
MOMO <朋友啊你的家在哪里>

实现代码:

sql 复制代码
select a 
	,film_list
from tb_name
lateral view explode(split(b,',')) t as film_list
;

注:explode函数:处理map结构的字段,将数组转换成多行,所以此处使用了split函数将b列转为array数组类型。

相关推荐
鸿乃江边鸟2 天前
向量化和列式存储
大数据·sql·向量化
懒虫虫~2 天前
通过内存去重替换SQL中distinct,优化SQL查询效率
java·sql·慢sql治理
逛逛GitHub2 天前
1 个神级智能问数工具,刚开源就 1500 Star 了。
sql·github
Huhbbjs2 天前
SQL 核心概念与实践总结
开发语言·数据库·sql
咋吃都不胖lyh2 天前
SQL-字符串函数、数值函数、日期函数
sql
sensenlin912 天前
Mybatis中SQL全大写或全小写影响执行性能吗
数据库·sql·mybatis
xqlily3 天前
SQL 数据库简介
数据库·sql
森林-3 天前
MyBatis 从入门到精通(第三篇)—— 动态 SQL、关联查询与查询缓存
sql·缓存·mybatis
小虾米vivian3 天前
达梦:将sql通过shell脚本的方式放在后台执行
服务器·数据库·sql