Hive数据仓库实践10 集合数据查询

本节来介绍集合数据类型的查询。第三节建立表cust_info时,添加了3个集合类型的字段,分别为联系方式-Array、贷款是否违约-Map、开户时长-Struct。

首先进入Hive环境,用use loan_db;切换到目标数据库,查看客户信息表cust_info的描述信息,如下:

上图即是3个集合类型字段,下面任意查询一条数据:

中括号内数据是Array类型联系方式,该客户有两个:第一联系方式邮件,第二是电话;后面的花括号为Map类型贷款是否违约,键为历史是否有贷款(yes/no),值为贷款是否违约(true/false);最后一个字段Struct类型的开户时长,包含3个键值对:开户月、日及开户天数。

首先来访问联系方式字段。查询最后3个客户的第一联系方式,Array的下标从0开始,结果分别是手机、电话、手机。如下:

接着访问贷款是否违约字段。查询前3个没有贷款的客户违约情况,结果前两个没有贷款也就没有违约,最后一个是有贷款的返回NULL。如下:

再来访问开户时长字段。查询前3个客户的开户信息,Struct类型用点来查询,如open.duration就是开户的天数。如下:

最后给出这3个字段结合使用的例子。我们需要查询:第一联系方式为email且贷款分别为逾期和未逾期的客户,他们的开户时长分布。

返回结果,如下:贷款逾期的最多的开户时长是3-6月,未逾期的是6-12个月。

历史文章回顾

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180104G10OIB00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区