码迷,mamicode.com
首页 > 其他好文 > 详细

hive复杂类型访问操作

时间:2015-05-26 18:35:51      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

复杂类型访问操作1. array类型访问: A[n]

语法: A[n]
操作类型: A为array类型,n为int类型
说明:返回数组A中的第n个变量值。数组的起始下标为0。比如,A是个值为[‘foo‘, ‘bar‘]的数组类型,那么A[0]将返回‘foo‘,而A[1]将返回‘bar‘
举例:
hive> create table lxw_test as selectarray("tom","mary","tim") as t from lxw_dual;
hive> select t[0],t[1],t[2] from lxw_test;
tom     mary    tim
 

2. map类型访问: M[key]

语法: M[key]
操作类型: M为map类型,key为map中的key值
说明:返回map类型M中,key值为指定值的value值。比如,M是值为{‘f‘ -> ‘foo‘, ‘b‘-> ‘bar‘, ‘all‘ -> ‘foobar‘}的map类型,那么M[‘all‘]将会返回‘foobar‘
举例:
hive> Create table lxw_test as selectmap(‘100‘,‘tom‘,‘200‘,‘mary‘) as t from lxw_dual;
hive> select t[‘200‘],t[‘100‘] from lxw_test;
mary    tom
 

3. struct类型访问: S.x

语法: S.x
操作类型: S为struct类型
说明:返回结构体S中的x字段。比如,对于结构体struct foobar {int foo, int bar},foobar.foo返回结构体中的foo字段
举例:
hive> create table lxw_test as select struct(‘tom‘,‘mary‘,‘tim‘)as t from lxw_dual;
hive> describe lxw_test;
t      struct<col1:string,col2:string,col3:string>
hive> select t.col1,t.col3 from lxw_test;
tom     tim
更多精彩内容请关注:http://bbs.superwu.cn
关注超人学院微信二维码:技术分享

hive复杂类型访问操作

标签:

原文地址:http://www.cnblogs.com/CRXY/p/4531122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!