hive数据类型及其数据转换
由于需要使用hive sql进行数据查询,同时涉及多个不同类型的字段的组合,看Hive sql的文档相关和资料才知道,hive是支持大部分基础数据类型之间的相互转换的。
那么,hive本身支持哪些数据类型呢?
从hive内置数据类型中,Hive支持的数据类型包括以下这些:
数据类型 |
所占字节 |
开始支持版本 |
|
TINYINT |
1byte,-128 ~ 127 |
||
SMALLINT |
2byte,-32,768 ~ 32,767 |
||
INT |
4byte,-2,147,483,648 ~ 2,147,483,647 |
||
BIGINT |
8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
||
BOOLEAN |
|||
FLOAT |
4byte单精度 |
||
DOUBLE |
8byte双精度 |
||
STRING |
|||
BINARY |
从Hive0.8.0开始支持 |
||
TIMESTAMP |
从Hive0.8.0开始支持 |
||
DECIMAL |
从Hive0.11.0开始支持 |
||
CHAR |
从Hive0.13.0开始支持 |
||
VARCHAR |
从Hive0.12.0开始支持 |
||
DATE |
从Hive0.12.0开始支持 |
以及一些数据数据类型:包括array数组,map键值对,struct结构体,union联合等。
可以看到,hive对平时用到的数据类型都有所支持。
其中部分基础数据类型支持隐式转换,意味着在使用过程中可以直接把源类型作为目标类型来使用,支持数据类型隐式的类型包括:
|
boolean |
tinyint |
smallint |
int |
bigint |
float |
double |
decimal |
string |
varchar |
timestamp |
date |
binary |
boolean |
true |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
tinyint |
false |
true |
true |
true |
true |
true |
true |
true |
true |
true |
false |
false |
false |
smallint |
false |
false |
true |
true |
true |
true |
true |
true |
true |
true |
false |
false |
false |
int |
false |
false |
false |
true |
true |
true |
true |
true |
true |
true |
false |
false |
false |
bigint |
false |
false |
false |
false |
true |
true |
true |
true |
true |
true |
false |
false |
false |
float |
false |
false |
false |
false |
false |
true |
true |
true |
true |
true |
false |
false |
false |
double |
false |
false |
false |
false |
false |
false |
true |
true |
true |
true |
false |
false |
false |
decimal |
false |
false |
false |
false |
false |
false |
false |
true |
true |
true |
false |
false |
false |
string |
false |
false |
false |
false |
false |
false |
true |
true |
true |
true |
false |
false |
false |
varchar |
false |
false |
false |
false |
false |
false |
true |
true |
true |
true |
false |
false |
false |
timestamp |
false |
false |
false |
false |
false |
false |
false |
false |
true |
true |
true |
false |
false |
date |
false |
false |
false |
false |
false |
false |
false |
false |
true |
true |
false |
true |
false |
binary |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
false |
true |
如果hive不支持该类型的转换,在使用CAST进行转换时,就会报错:
如将bigint转换为binary
CAST((9223372036854775807-unix_timestamp()) as binary)
过往记忆总结的很好,上面的内容也多半出自此处,并进行了一定的加工汇总。
hive数据类型及其数据转换的更多相关文章
- Hive基础之Hive数据类型
Hive数据类型 参考:中文博客:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2843448.html 英文:https: ...
- [Hive_add_2] Hive 数据类型
Hive 数据类型 正常数据类型 # 整型,4个字节 int # 大整型,8个字节 bigint # 字符串,最大长度2G String 复杂数据类型 # 数组,相同类型元素的数组 array< ...
- Hive数据类型与文件存储格式
Hive数据类型 基础数据类型: TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CH ...
- Hive 数据类型及操作数据库
3. Hive 数据类型 3.1 基本数据类型 Hive 数据类型 Java 数据类型 长度 TINYINT byte 1 byte 有符号整数 SMALINT short 2 byte 有符号整数 ...
- Hive 数据类型 + Hive sql
Hive 数据类型 + Hive sql 基本类型 整型 int tinyint (byte) smallint(short) bigint(long) 浮点型 float double 布尔 boo ...
- 第3章 Hive数据类型
第3章 Hive数据类型 3.1 基本数据类型 对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB ...
- hive数据类型学习
Hive的内置数据类型可以分为两大类:(1).基础数据类型:(2).复杂数据类型.其中,基础数据类型包括: TINYINT, SMALLINT, INT, BIGINT, BOOLEAN, FLOAT ...
- TypeScript学习笔记(二):基本数据类型及数据转换
数据类型 我们来看看TypeScript中的基本数据类型都有哪些. boolean 布尔值,支持true和false. var isDone: boolean = false; 默认为undefine ...
- 【2017-2-19】C#数据类型,数据转换,变量,常量,转义符
数据类型 一.基本数据类型 1.值类型(不可以为null) ⑴整型(可以为负数) byle,int,short,long(从小到大排列) 常用整型 int a=值(小于10位数) long b=值(1 ...
随机推荐
- [LeetCode] Diameter of Binary Tree 二叉树的直径
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...
- 在windows下使用cmd命令全速下载百度云文件
在windows下使用cmd命令全速下载百度云文件 需要的工具BaiduPCS-GO(链接:https://pan.baidu.com/s/19Sn8gmNi_GZHJwUPu79DPg 密码:gqi ...
- [UOJ 282]长度测量鸡
Description
- LOJ #6119. 「2017 山东二轮集训 Day7」国王
Description 在某个神奇的大陆上,有一个国家,这片大陆的所有城市间的道路网可以看做是一棵树,每个城市要么是工业城市,要么是农业城市,这个国家的人认为一条路径是 exciting 的,当且仅当 ...
- ●BZOJ 2119 股市的预测
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2119 题解: 这个题很好的. 首先把序列转化为差分序列,问题转化为找到合法的子序列,使得去除 ...
- bzoj3294[Cqoi2011]放棋子 dp+组合+容斥
3294: [Cqoi2011]放棋子 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 755 Solved: 294[Submit][Status] ...
- python3 条件判断,循环,三元表达式
一. 条件判断 条件判断的关键字if elif else,具体规则如下: if condition_1: statement_block_1 elif condition_2: statement_b ...
- 【js-xlsx和file-saver插件】前端导出数据到excel
最近在做项目,前端进行处理数据,导出excel中,还是遇到不少问题,这里将其进行总结一下,博主是vue框架开发,借用file-saver和xlsx插件进行导出excel,我们来看下代码和效果.地址链接 ...
- Maven之自定义archetype生成项目骨架
Maven之自定义archetype生成项目骨架(一) http://blog.csdn.net/sxdtzhaoxinguo/article/details/46895013
- HTMLParser使用简介
HTMLParser具有小巧,快速的优点,缺点是相关文档比较少(英文的也少),很多功能需要自己摸索.对于初学者还是要费一些功夫的,而一旦上手以后,会发现HTMLParser的结构设计很巧妙,非常实用, ...