hive-数据类型

数据类型

数字型

类型长度备注
TINYINT1字节有符号整型
SMALLINT2字节有符号整型
INT4字节有符号整型
BIGINT8字节有符号整型
FLOAT4字节有符号单精度浮点数
DOUBLE8字节有符号双精度浮点数
DECIMAL可带小数的精确数字字符串

日期时间型

类型长度备注
TIMESTAMP时间戳,内容格式:yyyy-MM-dd hh:mm:ss[.f…]
DATE日期,只识别yyyy-MM-dd
INTERVAL

TIMESTAMP对应的时间格式为yyyy-MM-dd HH:MM:SS,即通过LOAD命令将文本加载到已创建的表中时,只有满足上述格式的内容才可以被正确解析,否则只能识别为NULL。

hive的TIMESTAMP是10位的,如果是13位,需要先截取前面10位然后转成yyyy-MM-dd HH:MM:SS的格式,
select from_unixtime(cast(substr(1553184000488,1,10) as bigint),‘yyyy-MM-dd HH:mm:ss’) --2019-03-22 00:00:00

字符串类型

类型长度备注
STRING最大2G字符串
VARCHAR字符数范围1 - 65535长度不定字符串
CHAR最大的字符数:255长度固定字符串

复杂类型

example

# 创建表
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、STRUCT、ARRAY的元素之间分隔符
  map keys terminated by ':'    		-- MAP中的key与value的分隔符
  lines terminated by '\n';     		-- 行分隔符

数据准备

songsong,bingbing_lili,xiao song:18_xiaoxiao song:19,hui long guan_beijing
yangyang,caicai_susu,xiao yang:18_xiaoxiao yang:19,chao yang_beijing

导入数据

load data local inpath '/usr/soft/module/data/test.txt' into table test;

select friends[1],children['xiao song'],address.city from test where name="songsong";

在这里插入图片描述

ARRAY

包含同类型元素的数组,索引从0开始 ARRAY。
例如:数组值为[‘John’, ‘Doe’],那么第2个元素可以通过数组名[1]进行引用。

MAP

字典 MAP<primitive_type, data_type>
例如,如果某个列的数据类型是MAP,其中键->值对是’first’->’John’和’last’->’Doe’,那么可以通过字段名[‘last’]获取最后一个元素

STRUCT

结构体 STRUCT<col_name : data_type [COMMENT col_comment], …>

UNIONTYPE

联合体 UNIONTYPE<data_type, data_type, …> 和c语言中的struct类似,都可以通过“点”符号访问元素内容。
例如,如果某个列的数据类型是STRUCT{prop1 STRING, prop2 STRING},那么第1个元素可以通过字段. prop1来引用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值