千家信息网

hive如何实现行转列

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍hive如何实现行转列,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1。问题hive如何将a b 1,2,3c d 4,5,6变为:a b 1a b 2a b
千家信息网最后更新 2025年01月31日hive如何实现行转列

这篇文章主要介绍hive如何实现行转列,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1。问题

hive如何将

a b 1,2,3

c d 4,5,6

变为:


a b 1

a b 2

a b 3

c d 4

c d 5

c d 6


答案如下:

2。原始数据:

test.txt

a b 1,2,3

c d 4,5,6

3。解决方法

方案1:

drop table test_jzl_20140701_test;

create table test_jzl_20140701_test

(

col1 string,

col2 string,

col3 string

)

row format delimited fields terminated by ' '

stored as textfile;


load data local inpath '/home/jiangzl/shell/test.txt' into table test_jzl_20140701_test;

select * from test_jzl_20140701_test

a b 1,2,3

c d 4,5,6

遍历数组中的每一列

select col1,col2,name

from test_jzl_20140701_test

lateral view explode(split(col3,',')) col3 as name;


a b 1

a b 2

a b 3

c d 4

c d 5

c d 6


方案2:

drop table test_jzl_20140701_test1;


create table test_jzl_20140701_test1

(

col1 string,

col2 string,

col3 array

)

row format delimited

fields terminated by ' '

collection items terminated by ',' //定义数组的分隔符

stored as textfile;



load data local inpath '/home/jiangzl/shell/test.txt' into table test_jzl_20140701_test1;



select * from test_jzl_20140701_test1;


a b [1,2,3]

c d [4,5,6]


遍历数组中的每一列

select col1,col2,name

from test_jzl_20140701_test1

lateral view explode(col3) col3 as name;


a b 1

a b 2

a b 3

c d 4

c d 5

c d 6


4。补充知识点:

select * from test_jzl_20140701_test;


a b 1,2,3

c d 4,5,6


select t.list[0],t.list[1],t.list[2] from (

select (split(col3,',')) list from test_jzl_20140701_test)t;


OK

1 2 3

4 5 6


--查看数组长度

select size(split(col3,',')) list from test_jzl_20140701_test;


3

3

以上是"hive如何实现行转列"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

数组 内容 方案 知识 篇文章 原始 价值 兴趣 分隔符 小伙 小伙伴 数据 方法 更多 知识点 答案 行业 资讯 资讯频道 长度 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 最便宜的服务器租用 添加大数据库快捷键 网络安全审查与认证中心田霞 2018互联网 网络安全 光大信用卡中心软件开发岗位 sina.com连接不上服务器 电视连接网络安全性怎么选 人人网信息网络技术有限公司 服务器主板报警五短一长 看门狗2新手教程爬进服务器塔里 永川区工商软件开发服务特点 有什么好的数据库管理软件 教师网络安全管理员培训 有必要买两台服务器吗 软件开发需要招标么 ev服务器证书 数据库系统教程的分类号 电脑从服务器里面怎么添加表格 台式机用服务器内存效果怎样 电脑连服务器管理口 数据软件开发负面清单 数据库建模分层 网络安全政策解决可行性分析 情报学数据库系统考研 医学各数据库使用方法 广州天河区网络安全备案地址 达梦数据库登入后不显示模式 北京质量软件开发设施参考价格 qq软件开发论文 手机备忘录要连接服务器吗
0