array中的数据为相同类型,例如,假如array A中元素[‘a’,‘b’,‘c’],则A[1]的值为’b’
数据结构如下:
zhangsan beijing,shanghai,tianjin,hangzhou
wangwu shanghai,chengdu,wuhan,haerbin
create table complex_array(name string,work_locations array< string > ) row format delimited fields terminated by ‘\t’ collection items terminated by ‘,’; load data local inpath ‘/export/data/hivedata/complex_array.txt’ into table complex_array; 查看array的元素 用下标进行寻找,类似于其他编程语言中的数组访问 select work_locations[1] from complex_array;
可以通过[“指定key名称”]访问
1,zhangsan,唱歌:非常喜欢‐跳舞:喜欢‐游泳:一般般
2,lisi,打游戏:非常喜欢‐篮球:不喜欢
create table complex_map(id int,name string,hobby map< string,string >) row format delimited fields terminated by ‘,’ collection items terminated by ‘‐’ map keys terminated by ‘:’;
load data local inpath ‘/export/data/hivedata/complex_map.txt’ into table complex_map;
以普通字符串映射:
create table complex_map_s(id int,name string,hobby string) row format delimited fields terminated by ‘,’;
集合元素可以类型不一样 例如c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域a
1,zhou:30
2,yan:30
3,chen:20
4,li:80
create table complex_struct(id int, info struct<name:STRING, age:INT>) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’ COLLECTION ITEMS TERMINATED BY ‘:’;
load data local inpath ‘/export/data/hivedata/complex_struct.txt’ into table complex_struct;
select info.age from complex_struct;
本文介绍了Hive中三种复合数据类型:Array、Map和Struct。Array用于存储相同类型的元素,例如['a', 'b', 'c'];Map通过键值对形式存储数据,如{'唱歌': '非常喜欢', '跳舞': '喜欢'};Struct则允许集合元素有不同的类型,例如struct<name:STRING, age:INT>。通过下标、键名和字段名,可以方便地访问这些复合数据类型的元素。"
9570669,1351588,移动端全景影像类库PanoramaGL详解,"['OpenGL', 'Android开发', '全景', '类库']
5534

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



