hive array、map、struct使用hive提供了复合数据类型:Structs: structs内部的数据可以通过DOT(.)来存取,例如
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> select perf['person'] from employee;Total MapReduce jobs = 1......Total MapReduce CPU Time Spent: 460 msecOK70NULL100Time taken: 20.902 secondshive> select perf['person'] from employee where perf['person'] is not null; Total MapReduce jobs = 1.......Total MapReduce CPU Time Spent: 610 msecOK70100Time taken: 21.989 secondshive>
