前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hive支持的数据类型

hive支持的数据类型

作者头像
chimchim
发布2023-10-17 08:54:26
1.3K0
发布2023-10-17 08:54:26
举报
文章被收录于专栏:chimchim要努力变强啊

一、hive数据类型

1.基础型

数据类型

长度大小

示例

TINYINT

1字节有符号整数,范围:-128~127

10Y

SMALLINT

2字节有符号整数,范围:-32768~32767

10S

INT

4字节有符号整数

10

BIGINT

8字节有符号整数

10L

FLOAT

4字节单精度浮点数

1.0

DOUBLE

8字节双精度浮点数

1.0

DECIMAL

任意精度带符号小数,范围:-99.99到99.99

DECIMAL(20, 2)

BOOLEAN

true/false

TRUE

STRING

字符串,长度不定

“a”, ‘b’

VARCHAR

字符串,长度不定,有上限

“a”, ‘b’

CHAR

字符串,固定长度

“a”, ‘b’

BINARY

存储变长的二进制数据

TIMESTAMP

时间戳,纳秒精度

1650778130

DATE

日期

'2023-02-27'

2.复杂型

数据类型

描述

示例

ARRAY

存储同类型数据

ARRAY< data_type>

MAP

key-value,key必须为原始类型,value可以是任意类型

MAP< primitive_type, data_type>

STRUCT

类型可以不同

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

UNION

在有限取值范围内的一个值

UNIONTYPE< data_type, data_type, …>

Hive 除了支持 STRUCTARRAYMAP 这些原生集合类型,还支持集合的组合,不支持集合里再组合多个集合。

举例:MAP 嵌套 ARRAY,手动设置集合格式的数据非常麻烦,建议采用INSERT INTO SELECT形式构造数据再插入UNION 表

二、类型转换

1.隐式转换

Hive的类型层次中,可以根据需要进行隐式的类型转换,例如 TINYINT 与 INT相加,则会将TINYINT 转化成INT 然后相加。

隐式转换的规则:

任意数值类型都可以转换成更宽的数据类型(不会导致精度丢失)或者文本类型; 所有的文本类型都可以隐式地转换成另一种文本类型。也可以被转换成 DOUBLE 或者 DECIMAL,转换失败时抛出异常; BOOLEAN 不能做任何的类型转换; 时间戳和日期可以隐式地转换成文本类型。

2.显示转换

用 CAST 函数进行显式的类型转换

示例:

select cast(12345.89 as string);

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、hive数据类型
    • 1.基础型
      • 2.复杂型
        • 二、类型转换
          • 1.隐式转换
          • 2.显示转换
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档