概述
ARRAY:ARRAY類型是由一系列相同數據類型的元素組成,這些元素可以通過下標來訪問。比如有一個ARRAY類型的變量fruits,它是由['apple','orange','mango']組成,那么我們可以通過fruits[1]來訪問元素orange,因為ARRAY類型的下標是從0開始的;
操作實例
1、創建表
hive> create table array_test(name string,list array<int>)
> row format delimited fields terminated by ','
> collection items terminated by ':';
OK
2、準備文件
[root@hello110 data]# vi ?array_test
zhangsan,1:2:3:4:5
lisi,6:7:8:9:10
xiaoming,11:12:13:14:15
xiaoxiao,21:22:23:24:25
dingding,33:34:35:36:37
3、文件導入表
hive> load data local inpath "/data/array_test" into table array_test;
Loading data to table default.array_test
4、查看表
hive> select * from array_test;
OK
zhangsan [1,2,3,4,5]
lisi [6,7,8,9,10]
xiaoming [11,12,13,14,15]
xiaoxiao [21,22,23,24,25]
dingding [33,34,35,36,37]
Time taken: 5.293 seconds, Fetched: 5 row(s)
-------------
hive> select name from array_test;
OK
zhangsan
lisi
xiaoming
xiaoxiao
dingding
Time taken: 4.278 seconds, Fetched: 5 row(s)
-----------------
hive> select name,list[1] from array_test;
OK
zhangsan 2
lisi 7
xiaoming 12
xiaoxiao 22
dingding 34
Time taken: 4.857 seconds, Fetched: 5 row(s)
-----------下標從0開始-------------
hive> select name,list[0] from array_test;
OK
zhangsan 1
lisi 6
xiaoming 11
xiaoxiao 21
dingding 33
Time taken: 4.175 seconds, Fetched: 5 row(s)
---------當序號不存在的時候返回null------
hive> select name,list[-1] from array_test;
OK
zhangsan NULL
lisi NULL
xiaoming NULL
xiaoxiao NULL
dingding NULL
Time taken: 4.195 seconds, Fetched: 5 row(s)
---------------------------------
hive> select name,list[100] from array_test;
OK
zhangsan NULL
lisi NULL
xiaoming NULL
xiaoxiao NULL
dingding NULL
Time taken: 4.256 seconds, Fetched: 5 row(s)
hive>
5、hadoop中文件內容