hive高级数据类型

网友投稿 252 2022-11-23

hive高级数据类型

hive的高级数据类型主要包括:数组类型、map类型、结构体类型、集合类型,以下将分别详细介绍。 1)数组类型array_type:array -- 建表语句 create table test.array_table(name   string,age    int,addr   array)row format delimited fields terminated by ',' collection items terminated by ':'; hive> desc test.array_table;OKname                    string                                      age                     int                                         addr                    array -- 测试数据 chavin,28,beijing:shanghai:shenyangnope,28,beijing:shanghai:taiyuanwzq,28,beijing:dalian:shenyang:fuxinzhangshuai,28,beijing:shenyang:fuxin -- 加载数据 hive> load data local inpath '/home/hadoop/array_table.txt' into table test.array_table;Loading data to table test.array_tableOKTime taken: 0.918 seconds -- 查询 hive> select * from test.array_table;OKchavin    28    ["beijing","shanghai","shenyang"]nope    28    ["beijing","shanghai","taiyuan"]wzq    28    ["beijing","dalian","shenyang","fuxin"]zhangshuai    28    ["beijing","shenyang","fuxin"]Time taken: 0.199 seconds, Fetched: 4 row(s) hive> select addr[1] from test.array_table;OKshanghaishanghaidalianshenyangTime taken: 0.186 seconds, Fetched: 4 row(s) hive> select addr[0] from test.array_table;OKbeijingbeijingbeijingbeijingTime taken: 0.212 seconds, Fetched: 4 row(s) 2)map类型map_type:map -- 建表语句 create table test.map_table(name      string,detail    map)row format delimited fields terminated by '\t' collection items terminated by ','map keys terminated by ':'; hive> desc test.map_table;OKname                    string                                      detail                  map                          Time taken: 0.146 seconds, Fetched: 2 row(s) -- 测试数据 chavin    age:28,addr:beijing,phone:15998888888,email:811651208@qq.comnope    age:28,addr:beijing,phone:13899998888,email:nope@gmail.comwzq    age:28,addr:shanghai,phone:13899998888,email:wzq@gmail.comzhangshuai    age:28,addr:tianjing,phone:13899998888,email:zs@gmail.com -- 加载数据 hive> load data local inpath '/home/hadoop/map.txt' into table test.map_table;Loading data to table test.map_tableOKTime taken: 0.641 seconds -- 查询数据 hive> select * from test.map_table;OKchavin    {"age":"28","addr":"beijing","phone":"15998888888","email":"811651208@qq.com"}nope    {"age":"28","addr":"beijing","phone":"13899998888","email":"nope@gmail.com"}wzq    {"age":"28","addr":"shanghai","phone":"13899998888","email":"wzq@gmail.com"}zhangshuai    {"age":"28","addr":"tianjing","phone":"13899998888","email":"zs@gmail.com"}Time taken: 0.183 seconds, Fetched: 4 row(s) hive> select detail from test.map_table;OK{"age":"28","addr":"beijing","phone":"15998888888","email":"811651208@qq.com"}{"age":"28","addr":"beijing","phone":"13899998888","email":"nope@gmail.com"}{"age":"28","addr":"shanghai","phone":"13899998888","email":"wzq@gmail.com"}{"age":"28","addr":"tianjing","phone":"13899998888","email":"zs@gmail.com"}Time taken: 0.177 seconds, Fetched: 4 row(s) hive> select name,detail['email'] from test.map_table;OKchavin    811651208@qq.comnope    nope@gmail.comwzq    wzq@gmail.comzhangshuai    zs@gmail.comTime taken: 0.179 seconds, Fetched: 4 row(s) 3)结构体类型struct_type:struct -- 建表语句 create table test.struct_table(name      string,detail    struct)row format delimited fields terminated by '\t' collection items terminated by ','; hive> desc test.struct_table;OKname                    string                                      detail                  struct                        Time taken: 0.139 seconds, Fetched: 2 row(s) -- 测试数据 chavin    28,15998888888,811651208@qq.comnope    28,13899998888,nope@gmail.comwzq    28,13899998888,wzq@gmail.comzhangshuai    28,13899998888,zs@gmail.com -- 加载数据 hive> load data local inpath '/home/hadoop/struct.txt' into table test.struct_table;Loading data to table test.struct_tableOKTime taken: 0.564 seconds -- 查询数据 hive> select * from test.struct_table;OKchavin    {"age":28,"phone":"15998888888","email":"811651208@qq.com"}nope    {"age":28,"phone":"13899998888","email":"nope@gmail.com"}wzq    {"age":28,"phone":"13899998888","email":"wzq@gmail.com"}zhangshuai    {"age":28,"phone":"13899998888","email":"zs@gmail.com"}Time taken: 0.183 seconds, Fetched: 4 row(s) hive> select name,detail.email from test.struct_table;OKchavin    811651208@qq.comnope    nope@gmail.comwzq    wzq@gmail.comzhangshuai    zs@gmail.comTime taken: 0.869 seconds, Fetched: 4 row(s) 4)集合类型union_type:uniontype -- 建表语句 create table test.union_table(detail    uniontype)row format delimited fields terminated by '\t' collection items terminated by ','; hive> desc test.union_table;OK                                     detail                  uniontype                        Time taken: 0.141 seconds, Fetched: 2 row(s)

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Type-C扩展坞好产品价格不贵还实惠
下一篇:Java中list集合为空或为null的区别说明
相关文章

 发表评论

暂时没有评论,来抢沙发吧~