1.4.3.4 Hive数据类型

总目录:https://blog.csdn.net/qq_41106844/article/details/105553392

Hadoop - 子目录:https://blog.csdn.net/qq_41106844/article/details/105553369

 

基本数据类型

数据类型表:

HIVE数据类型JAVA数据类型长度例子
TINYINTbyte1byte有符号整数20
SMALINTshort2byte有符号整数20
INTint4byte有符号整数20
BIGINTlong8byte有符号整数20
BOOLEAMbooleam布尔类型TRUE
FLOATfloat单精度浮点数1.2
DOUBLEdouble双精度浮点数1.2
STRINGstring字符串"hello bigdata"
TIMESTAMP 时间类型 
BINARY 字符数组 

集合数据类型

数据类型描述语法示例
STRUCT结构体,通过点操作符访问元素。struct()
MAP字典,是一个K-V的元组结合。map()
ARRAY数组,一组相同类型的元素的集合。array()

然后看一下集合数据类型的例子:
建表

hive (default)> create table test(
              > name string,
              > friends array<string>,
              > children map<string,int>,
              > address struct<street:string,city:string>
              > )
              > row format delimited
              > fields terminated by ','     
              > collection items terminated by '_'
              > map keys terminated by ':'
              > lines terminated by '\n';
OK
Time taken: 1.699 seconds

row format delimited fields terminated by ',' -- 列分隔符
collection items terminated by '_' -- 数据类型分隔符
map keys terminated by ':' -- map中k-v的分隔符
lines terminated by '\n' --行分隔符

准备数据:
json格式:

{
  "name":"zhangsan",
  "friends":["lisi","wangwu"],
  "children":{
    "xiaozhang":19,
    "xiaosan":20
  }
  "address":{
    "street":"beisong",
    "city":"shijiazhuang"
  }
}

文件格式:

zhangsan,lisi_wangwu,xiaozhang:19_xiaosan:20,beisong_shijiazhuang
xiaoming,xiaohong_xiaogang,xiaoxiao:19_xiaoxiaoming:20,zhongmei_shijiazhuang

字段之间使用分割,map数据类型的K-V使用:分割,同一种类型的不同元素使用_分割,每一行数据使用\n分割。

导入

load data local inpath '/usr/test1.txt' into table test;
 
20155953-b1432d2cc94f998c.png
导入数据

查询

 
20155953-40405c707f08969e.png
查询


map数据类型可以指定key查询。

 

 
20155953-dd56d897585f0fbc.png
指定key查询


struct数据类型使用.操作符

 

 

 
20155953-9278b5df445f9eac.png
.操作符查询

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒 暄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值