Hive--02---Hive数据类型

Posted 高高for 循环

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive--02---Hive数据类型相关的知识,希望对你有一定的参考价值。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


Hive数据类型

1.基本数据类型

DECIMAL

这里我们对DECIMAL类型做两点说明:

  1. DECIMAL(9,8)代表最多9位数字,后8位是小数。此时也就是说,小数点前最多有1位数字,如果超过一位则会变成null。
  2. 如果不指定参数,那么默认是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.类型转换


开发者涨薪指南 48位大咖的思考法则、工作方式、逻辑体系

以上是关于Hive--02---Hive数据类型的主要内容,如果未能解决你的问题,请参考以下文章

JAVA 数据类型 保留小数的问题

sql server 中数据类型numeric我用小数点后两位,可是小数点前没有0

MySql-常用数据类型与约束

去掉decimal类型后面的小数点

SQL怎么样把numeric类型的数据转换为varchar类型的数据

MySQL 将字符串类型的小数转换为保留位数的小数类型