Hive--02---Hive数据类型
Posted 高高for 循环
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive--02---Hive数据类型相关的知识,希望对你有一定的参考价值。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
Hive数据类型
1.基本数据类型
DECIMAL
这里我们对DECIMAL类型做两点说明:
- DECIMAL(9,8)代表最多9位数字,后8位是小数。此时也就是说,小数点前最多有1位数字,如果超过一位则会变成null。
- 如果不指定参数,那么默认是DECIMAL(10,0),即没有小数位,此时0.82会变成1。
案例1
create table if not exists
datatype_test1(id int,col1 decimal,col2 decimal(9,8))
row format delimited fields terminated by ',';
2.字符串类型
3.日期与时间戳类型
案例2
4.集合类型
案例3
创建表:
create table if not exists
datatype_test4(
id int,
info struct<name:string,weight:double>,
score array<Int>,
info_map map<string,string>)
row format delimited fields terminated by ','
COLLECTION ITEMS TERMINATED BY ';'
MAP KEYS TERMINATED BY ':'
lines terminated by '\\n';
可以看到,我们定义了三种不同的集合类型字段,
-
并指定了列字段分隔符为",",即id, struct,array,map
-
并指定了集合类型的分隔符为";",即struct,array,以及map的不同kv之间用";"分割
-
同时定义了map的key和value之间用":"分割。
-
lines terminated by’\\n’; – 行分隔符
Array类型读取
可以通过下标进行访问,下标从0开始:
Map类型读取
可以通过[‘key’]来访问不同key的内容:
struct类型读取-----类似java bean
可以通过"."来访问不同的内容
5.类型转换
以上是关于Hive--02---Hive数据类型的主要内容,如果未能解决你的问题,请参考以下文章
sql server 中数据类型numeric我用小数点后两位,可是小数点前没有0