Hive复杂数据范例之array数组

种地  金牌会员 | 2024-8-30 16:32:28 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 554|帖子 554|积分 1662

本日跟大家分享关于Hive复杂数据范例之array数组,这在我们实际工作中是常常必要用到的,也是大家不得不了解的重点知识之一。

1,展示数据txt文件

留意:1001 和 lilei 和 舞蹈,唱歌,画画三者之间是table键
内里数据展示如下:

2,创建建表语句_array

建表语句大家必须要明白:
字段分隔符为‘\t’,  集合分隔符为‘,’ 
(array数组是由很多的元素collection构成)

3,在hive中映射成表

将数据txt文件根据建表语句规则映射成表(hive的底层逻辑)
来,擦亮眼睛,一起看看array这种数据范例长什么样子

ok,一定要记着它。懂hive的复杂数据范例,是一个值得骄傲的事变。
4,展示数组字段的第N个元素

假如说,我想展示 数组(hobby)字段的第一个元素(即是第一个兴趣),怎么办?别慌

发现在字段背面加下标就行  hobby[0],同理想展示第二个hobby,就用hobby[1], 以此类推。
好,关于array数组的原理,已经解释很清楚了。
5,字符串的数据范例变为array数组的函数

在末了,给大家介绍一个把字符串的数据范例变为array数组的方法
===================split 函数===========================
5.1,split 函数

语法: split( str,  pat)
返回值: array
作用: 按照pat字符串分割str,会返回分割后的字符串数组

5.2,如何将固定的数据写进array数组内里呢?


6,explode函数和array数组

explode函数是表生成函数的一种,目的是为了把一条array数组或者map范例的数据炸开成多条数据
语法如下:

如果想给每个元素都带上下标,语法如下:

代码如下:

这个是工作中遇到的代码,a表是有实际的含义的。还是挺有意思的,大家可以悟一悟。
查询效果如下:

观察效果展示,相信你已经会对 split 函数 已经懂很多了。
末了,关于深入明白split函数及其打好一套组合拳,可以阅读:
lateral view explode (split(column,‘exp’)) 爆炸函数-CSDN博客
希望大家可以提出更多的意见和发起,谢谢。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表