hive笔记:复杂数据类型-array结构
array 结构
(1)语法:array(val1,val2,val3,…) 操作类型:array
array类型的数据可以通过'数组名[index]'的方式访问,index从0开始:
(2)建表:
create external table temp.array_20181101_v2
( did string,
meiti array<string>
)
row format delimited fields terminated by '\t'
collection items terminated by ','(必须使)
location '/tmp/201810/array'
注意:
a.必须添加collection items terminated by ','若不添加,虽然是array字段但结果不全,只有部分的meiti转换为array字段
b.'fields terminated by' :字段与字段之间的分隔符
c.''collection items terminated by' :一个字段各个item的分隔符
(4)查询方法或函数:
原表数据
array类型的数据可以通过'数组名[index]'的方式访问,index从0开始
案例:
%jdbc(hive)
select did,meiti[0],meiti[1]
from temp.array_20181101_v2
array_contains():在字段类型为array中查找是否包含以及不包含某元素,在where后使用
如:
%jdbc(hive)
select did,meiti
from temp.array_20181101_v2
where array_contains(meiti, '1118')
and !array_contains(meiti, '1370')
lateral view explode (array)字段
%jdbc(hive)
select did,meiti
from temp.array_20181101_v2
lateral view explode(meiti) b1 as meiti1
group by id ,meiti1;
(5)txt文件上传建表的格式问题
txt文件应注意,保持数组的分隔符和前面几列的分隔符要不一样。
‘|’比较特殊,需要加转义符如,‘\|’,若是;’,/,或者空格则可以识别,
上一篇: 深入了解NumPy 高级索引
推荐阅读
-
hive笔记:复杂数据类型-array结构
-
[读书笔记]3_nginx基本数据结构_3_ngx_array_t
-
【Kylin实战】Hive复杂数据类型与视图
-
学习笔记 #_# 算法效率的度量方法/时间复杂度/空间复杂度(小甲鱼《数据结构和算法》)NO.3
-
Struct复杂数据类型的UDF编写、GenericUDF编写 数据结构
-
Hive如何比较复杂数据类型
-
DOM笔记(四):HTML 5 DOM复杂数据类型_html/css_WEB-ITnose
-
hive笔记:复杂数据类型-array结构
-
[读书笔记]3_nginx基本数据结构_3_ngx_array_t
-
Struct复杂数据类型的UDF编写、GenericUDF编写 数据结构