HIVE的数据类型hive array、map、struct使用
来源:互联网 发布:秦岭村庄消失知乎 编辑:程序博客网 时间:2024/06/05 00:48
hive array、map、struct使用
hive提供了复合数据类型:
Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域a
Maps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M['group']来获取
Arrays:array中的数据为相同类型,例如,假如array A中元素['a','b','c'],则A[1]的值为'b'
Struct使用
建表:
- hive> create table student_test(id INT, info struct<name:STRING, age:INT>)
- > ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
- > COLLECTION ITEMS TERMINATED BY ':';
- OK
- Time taken: 0.446 seconds
'FIELDS TERMINATED BY' :字段与字段之间的分隔符
''COLLECTION ITEMS TERMINATED BY' :一个字段各个item的分隔符
导入数据:
- $ cat test5.txt
- 1,zhou:30
- 2,yan:30
- 3,chen:20
- 4,li:80
- hive> LOAD DATA LOCAL INPATH '/home/work/data/test5.txt' INTO TABLE student_test;
- Copying data from file:/home/work/data/test5.txt
- Copying file: file:/home/work/data/test5.txt
- Loading data to table default.student_test
- OK
- Time taken: 0.35 seconds
查询:
- hive> select info.age from student_test;
- Total MapReduce jobs = 1
- ......
- Total MapReduce CPU Time Spent: 490 msec
- OK
- 30
- 30
- 20
- 80
- Time taken: 21.677 seconds
Array使用
建表:
- hive> create table class_test(name string, student_id_list array<INT>)
- > ROW FORMAT DELIMITED
- > FIELDS TERMINATED BY ','
- > COLLECTION ITEMS TERMINATED BY ':';
- OK
- Time taken: 0.099 seconds
导入数据:
- $ cat test6.txt
- 034,1:2:3:4
- 035,5:6
- 036,7:8:9:10
- hive> LOAD DATA LOCAL INPATH '/home/work/data/test6.txt' INTO TABLE class_test ;
- Copying data from file:/home/work/data/test6.txt
- Copying file: file:/home/work/data/test6.txt
- Loading data to table default.class_test
- OK
- Time taken: 0.198 seconds
查询:
- hive> select student_id_list[3] from class_test;
- Total MapReduce jobs = 1
- ......
- Total MapReduce CPU Time Spent: 480 msec
- OK
- 4
- NULL
- 10
- Time taken: 21.574 seconds
Map使用
建表:
- hive> create table employee(id string, perf map<string, int>)
- > ROW FORMAT DELIMITED
- > FIELDS TERMINATED BY '\t'
- > COLLECTION ITEMS TERMINATED BY ','
- > MAP KEYS TERMINATED BY ':';
- OK
- Time taken: 0.144 seconds
‘MAP KEYS TERMINATED BY’ :key value分隔符
导入数据:
- $ cat test7.txt
- 1 job:80,team:60,person:70
- 2 job:60,team:80
- 3 job:90,team:70,person:100
- hive> LOAD DATA LOCAL INPATH '/home/work/data/test7.txt' INTO TABLE employee;
查询:
- hive> select perf['person'] from employee;
- Total MapReduce jobs = 1
- ......
- Total MapReduce CPU Time Spent: 460 msec
- OK
- 70
- NULL
- 100
- Time taken: 20.902 seconds
- hive> select perf['person'] from employee where perf['person'] is not null;
- Total MapReduce jobs = 1
- .......
- Total MapReduce CPU Time Spent: 610 msec
- OK
- 70
- 100
- Time taken: 21.989 seconds
- hive>
- <span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: normal;">
- </span></span>
0 0
- HIVE的数据类型hive array、map、struct使用
- hive复合数据类型 array、map、struct使用
- Hive复合数据类型array,map,struct的使用
- Hive复合数据类型array,map,struct的使用
- Hive 中 Array、Map、Struct 的使用
- hive中map、struct、array的使用
- hive 的ARRAY,MAP,STRUCT使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- hive array、map、struct使用
- 足球世界杯
- Linux和window下的文件路径问题
- 禁止选中文字兼容IE、Chrome、FF等
- MySQL缓存参数优化
- iOS开发如何实现消息推送机制
- HIVE的数据类型hive array、map、struct使用
- chm文档显示空白的解决方案
- iOS7默认状态栏文字颜色
- mysql日志设置优化
- java中case语句的相关问题
- spark 1.0 在hadoop-2.0.0-cdh4.2.0上面安装成功
- sencha touch app bulid for GBK
- 服务器推送消息到客户端 SignalR 弹出消息
- 通信业饱受争议 大话光通信那些事儿(一)