赞
踩
在日常数仓的数据开发中,业务数据需求会遇到很多行转列和列转行的需求,这里需要做一次总结,也可以把经验分享给大家
不同业务下有着不同的业务逻辑,这里以一个抽象的业务背景为例子,帮助大家理解行转列的逻辑。现有hive数据表my_db.book_test,数据如下
book_id | book_type |
---|---|
1 | [科技,数学] |
2 | [小说,散文] |
3 | [历史,政治] |
需求是想要将书的类型变成属性,主键为book_id,字段如下:
book_id | is_novel | is_history | is_techno | is_econo |
---|---|---|---|---|
通过数据可以看出,一个书籍具有多个类型,但是枚举值是无法穷举的。从数据形式来看,是要将一列转为多列。这里可以先将原表列转行,然后行转列。
第一步转换代码
SELECT book_id,
book_type_ele
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。