Hive之数据类型

前提

在介绍Hive的数据类型前,首先需要弄清楚Hive是什么。
Hive是基于Hadoop的一个数据仓库工具,一个数据仓库分析系统,在Hadoop中用来处理结构化数据,可以将结构化的数据映射为一张数据库表,并提供HQL(hive SQL)查询功能,底层数据是存储在HDFS(Hadoop分布式文件系统)。
Hive 依赖于 HDFS 存储数据,Hive 将 HQL 转换成 MapReduce 执行。
所以说 Hive 是基于 Hadoop 的一个数据仓库工具,实质就是一款基于 HDFS 的 MapReduce 计算框架,对存储在 HDFS 中的数据进行分析和管理。

一、数值类型

1.Hive中的整型有四种:

类型大小后缀
TINYINT1字节Y
SMALLINT2字节S
INT4字节-
BIGINT8字节L

整型数值默认按照INT处理,整型数值超出INT范围、数值后加Y/S/L后缀时,发生向其他整型类型的转换。

2.Hive的浮点型有两种:

类型大小
FLOAT4字节
DOUBLE8字节

3.小数点:
在Hive 小数类型与Java大十进制格式相同。它是用于表示不可改变任意精度。语法和示例如下:

DECIMAL(precision, scale)
decimal(10,0)

二、字符串类型

字符串类型的数据类型可以使用单引号(’’)或双引号(“”)来指定。它包含两个数据类型:VARCHAR和CHAR。Hive遵循C-类型的转义字符。
下表描述了Hive的字符串类型:

类型长度
CHAR1-255
DOUBLE1-65535

三、时间类型

  • 时间戳:它支持传统的UNIX时间戳可选纳秒的精度。它支持的java.sql.Timestamp格式“YYYY-MM-DD HH:MM:SS.fffffffff”和格式“YYYY-MM-DD HH:MM:ss.ffffffffff”。
  • 日期:DATE值在年/月/日的格式形式描述 {{YYYY-MM-DD}}。

四、其他类型

BOOLEAN(布尔类型):true false
BINARY (二进制)

五、复合类型

  • array数组类型 :一组有序字段,字段类型必须相同。ARRAY<data_type>
    eg:array(“a”,”b”,”c”)

  • Maps : Maps和Java中的Map相同,即存储K-V对的; 一组无序的键/值对,键的类型必须是原子的,值可以是任意类型,同一键映射的值得类型必须相同。
    MAP<primitive_type, data_type>
    eg:map(“a”,1,”b”,2)

  • Structs:一组由任意数据类型组成的结构,一组命名的字段,字段类型可以不同。
    STRUCT<col_name : data_type, …>
    eg:struct(“a”,1,2,3)

例:

create table table_eg(
         a1 ARRAY< INT>,
         a2 MAP< STRING,INT>,
         a3 STRUCT< a:STRING,b:INT,c:DOUBLE>);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值