hive中对复杂数据类型的支持
来源:互联网 发布:网络机顶盒看电视直播 编辑:程序博客网 时间:2024/05/01 21:59
hive提供了复合数据类型:
struct:struct内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},可以通过c.a来访问域a
map(Key-Value对):访问指定域可以通过["指定域名称"]进行,例如,一个map M包含了一个group->gid的kv对,gid的值可以通过M['group']来获取
array:array中的数据为相同类型,例如,array A中元素['a','b','c'],则A[0]的值为'a',A[1]的值为'b'
**hive中暂没有支持list类型**
/*struct使用示例*/
建表:
create table s1(id INT,info struct<p1:string,p2:int>)
ROW FORMAT DELIMITED //指定记录按行划分
FIELDS TERMINATED BY ','//指定元组之间的分隔符
COLLECTION ITEMS TERMINATED BY ':';//指定元组各个字段之间的分隔符
导入数据:
LOAD DATA LOCAL INPATH '/hivetest1' INTO TABLE s1;
/hivetest1中数据格式如下:
1,zhou:30
2,yan:30
3,chen:20
查询:
select info.p1 from s1;
查询结果为:
zhou
yan
chen
/*array使用示例*/
建表:
create table s2(id INT,info array<INT>)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY ':';
导入数据:
LOAD DATA LOCAL INPATH '/hivetest2' INTO TABLE s2;
/hivetest2中数据格式如下:
1,1:2:3:4
2,5:6
3,7:8:9:10
4
,11
查询:
select info[1] from s2 ;
查询结果为:
2
6
8
NULL
/*map使用示例*/
建表:
create table s3(id INT,info map<STRING,INT>)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':';//指定key-value分隔符
导入数据:
LOAD DATA LOCAL INPATH '/hivetest3' INTO TABLE s3;
/hivetest3中数据格式如下:
1 job:80,team:60,person:70
2 job:60,team:80
3 job:90,team:70,person:100
查询:
select info['person'] from s3;
查询结果为:
70
NULL
100
struct:struct内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},可以通过c.a来访问域a
map(Key-Value对):访问指定域可以通过["指定域名称"]进行,例如,一个map M包含了一个group->gid的kv对,gid的值可以通过M['group']来获取
array:array中的数据为相同类型,例如,array A中元素['a','b','c'],则A[0]的值为'a',A[1]的值为'b'
**hive中暂没有支持list类型**
/*struct使用示例*/
建表:
create table s1(id INT,info struct<p1:string,p2:int>)
ROW FORMAT DELIMITED //指定记录按行划分
FIELDS TERMINATED BY ','//指定元组之间的分隔符
COLLECTION ITEMS TERMINATED BY ':';//指定元组各个字段之间的分隔符
导入数据:
LOAD DATA LOCAL INPATH '/hivetest1' INTO TABLE s1;
/hivetest1中数据格式如下:
1,zhou:30
2,yan:30
3,chen:20
查询:
select info.p1 from s1;
查询结果为:
zhou
yan
chen
/*array使用示例*/
建表:
create table s2(id INT,info array<INT>)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY ':';
导入数据:
LOAD DATA LOCAL INPATH '/hivetest2' INTO TABLE s2;
/hivetest2中数据格式如下:
1,1:2:3:4
2,5:6
3,7:8:9:10
4
,11
查询:
select info[1] from s2 ;
查询结果为:
2
6
8
NULL
/*map使用示例*/
建表:
create table s3(id INT,info map<STRING,INT>)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':';//指定key-value分隔符
导入数据:
LOAD DATA LOCAL INPATH '/hivetest3' INTO TABLE s3;
/hivetest3中数据格式如下:
1 job:80,team:60,person:70
2 job:60,team:80
3 job:90,team:70,person:100
查询:
select info['person'] from s3;
查询结果为:
70
NULL
100
0 0
- hive中对复杂数据类型的支持
- hive中复杂数据类型的使用
- Hive的复杂数据类型
- Hive支持的数据类型
- Hive支持的数据类型
- Hive支持的数据类型
- Hive的复杂数据类型之Array
- Hive的复杂数据类型和时间类型
- Hive中的复杂数据类型
- 复杂数据类型抽取支持
- (7)hadoop学习——hive的复杂数据类型
- qml 中支持的数据类型
- qml 中支持的数据类型
- 【Kylin实战】Hive复杂数据类型与视图
- hive中数据类型的转化CAST
- hive中自定义JsonSerde处理复杂结构的json数据
- Java的复杂数据类型
- 复杂的数据类型
- IO流(读取转换流)
- IO流(写入转换流)
- 脚本的一点小错误 也可能使游戏变得巨卡
- IO流(改变标准输入输出设备)
- OverScroll用法
- hive中对复杂数据类型的支持
- C++11——1.小练手
- 扩展vbox的虚拟磁盘(.vdi)
- nyoj-1027-阵地防守
- android源码下载mac
- poj 1112 Team Them Up!(建图+dp)
- IO流(流操作规律-1)-(流操作规律-2)
- java 虚拟机类加载机制
- 我的伤 你不懂