前言
在Hive使用过程中,有时需要通过sql语句来创建复杂数据类型,例如ARRAY、MAP、STRUCT等,甚至还有嵌套的复杂数据类型例如ARRAY[STRUCT],有必要了解一下sql语句中复杂数据类型的创建。
一、Map类型的创建
| 函数名称 | 函数参数 | 函数说明 |
|---|---|---|
| map | (key1,value1,key2,value2,…) | 创建了一个map结构数据,函数参数依次是它的key和value |
二、Struct类型的创建
有两种方式,如下表:
| 函数名称 | 函数参数 | 函数说明 |
|---|---|---|
| struct | (val1,val2,val3,…) | 创建了一个struct数据字段,它里面的字段的名称依次为col1,col2,col3…,它的值依次为val1,val2,val3 |
| named_struct | (name1,val1,name2,val2,…) | 创建了一个struct字段,函数中的参数依次为key和value |
三、Array类型的创建
| 函数名称 | 函数参数 | 函数说明 |
|---|

本文详细介绍了如何在Hive中使用SQL创建和操作Map、Struct、Array和嵌套Array[Struct]数据类型,包括各自的函数和示例。通过实例展示如何利用collect_set配合groupby实现动态数组生成。
最低0.47元/天 解锁文章
671

被折叠的 条评论
为什么被折叠?



