??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
HIVE数据类型及存储格式

转载   zjy1002261870   2018-11-08   浏览量:16


https://www.cnblogs.com/qingyunzong/category/1191578.html
一、数据类型
1、基本数据类型
Hive 支持关系型数据中大多数基本数据类型
boolean true/false TRUE
tinyint 1字节的有符号整数 -128~127 1Y
smallint 2个字节的有符号整数,-32768~32767 1S
int 4个字节的带符号整数 1
bigint 8字节带符号整数 1L
float 4字节单精度浮点数 1.0
double 8字节双精度浮点数 1.0
deicimal 任意精度的带符号小数 1.0
String 字符串,变长 “a”,’b’
varchar 变长字符串 “a”,’b’
char 固定长度字符串 “a”,’b’
binary 字节数组 无法表示
timestamp 时间戳,纳秒精度 122327493795
date 日期 ‘2018-04-07’
和其他的SQL语言一样,这些都是保留字。需要注意的是所有的这些数据类型都是对Java中接口的实现,因此这些类型的具体行为细节和Java中对应的类型是完全一致的。例如,string类型实现的是Java中的String,float实现的是Java中的float,等等。
2、复杂类型
array 有序的的同类型的集合 array(1,2)
map key-value,key必须为原始类型,value可以任意类型 map(‘a’,1,’b’,2)
struct 字段集合,类型可以不同 struct(‘1’,1,1.0), named_stract(‘col1’,’1’,’col2’,1,’clo3’,1.0)
二、存储格式
Hive会为每个创建的数据库在HDFS上创建一个目录,该数据库的表会以子目录形式存储,表中的数据会以表目录下的文件形式存储。对于default数据库,默认的缺省数据库没有自己的目录,default数据库下的表默认存放在/user/hive/warehouse目录下。
(1)textfile
textfile为默认格式,存储方式为行存储。数据不做压缩,磁盘开销大,数据解析开销大。
(2)SequenceFile
SequenceFile是Hadoop API提供的一种二进制文件支持,其具有使用方便、可分割、可压缩的特点。
SequenceFile支持三种压缩选择:NONE, RECORD, BLOCK。 Record压缩率低,一般建议使用BLOCK压缩。
(3)RCFile
一种行列存储相结合的存储方式。
(4)ORCFile
数据按照行分块,每个块按照列存储,其中每个块都存储有一个索引。hive给出的新格式,属于RCFILE的升级版,性能有大幅度提升,而且数据可以压缩存储,压缩快 快速列存取。
(5)Parquet
Parquet也是一种行式存储,同时具有很好的压缩性能;同时可以减少大量的表扫描和反序列化的时间。
三、数据格式
当数据存储在文本文件中,必须按照一定格式区别行和列,并且在Hive中指明这些区分符。Hive默认使用了几个平时很少出现的字符,这些字符一般不会作为内容出现在记录中。
Hive默认的行和列分隔符如下表所示。
分隔符
描述
\n 对于文本文件来说,每行是一条记录,所以\n 来分割记录
^A (Ctrl+A) 分割字段,也可以用\001 来表示
^B (Ctrl+B) 用于分割 Arrary 或者 Struct 中的元素,或者用于 map 中键值之间的分割,也可以用\002 分割。
^C 用于 map 中键和值自己分割,也可以用\003 表示。

转载自://blog.51cto.com/6000734/2314683

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024


上一篇:

20180607早课记录26-Hive
1.hive哪些sql会触发mrjob带聚合函数,某些insert,还有createtableasselect2.createtabletasselect...这样的SQL会不会创建mrjob会3.hive的数据分为哪两块分别存储哪里元数据和真实数据,分别存储在mysql,hdfs中4.一般工作中,udf编写是很多的,那么怎样临时生效,永久生效?临时生效就是addjar,然后createtempo
20180604早课记录24-Hive
1.hive数据分为哪两块?分别存储在哪?元数据和数据本身;mysql等关系型数据库和hdfs2.hive的建表SQL语句你们觉得里有哪些内容?(不光光是字段的定义)定义分区,分隔字符,内外表之分3.默认的换行符和分割符是什么?/t/r4.加载数据或本地数据到hive表或者覆盖hive表,语法是什么?LOADDATALOCALINPATH'xxx'OVERWRITEINTOTABL
Hive环境搭建及简单使用
前言:上篇文章我们介绍了Hive源码编译的相关内容,本篇文章将主要介绍Hive环境的搭建步骤及简单使用。1.下载安装包并解压#下载地址//archive.cloudera.com/cdh5/cdh/5/选择hive-1.1.0-cdh5.7.0.tar.gz包,也可用我们上篇文章编译来的包[[email protected]~]$lltotal32drwxrwxr-x4hadoophado
Hive 高级编程——深入浅出学Hive
目录:初始HiveHive安装与配置Hive内建操作符与函数开发HiveJDBChive参数Hive高级编程HiveQLHiveShell基本操作hive优化Hive体系结构Hive的原理配套视频课程第一部分:产生背景
hadoop hive的安装
以下是本人hive的安装过程:hive是Hadoop中最常用的工具,可以说是必装工具。按apache官方文档,推荐使用svn下载后编译,但build时,因为依赖关系,整了很久,下了很多包也没有成功。推荐使用tar.gz包,直接安装...
20180531早课记录22-Hive
1.hive是什么?基于Hadoop的一个数据仓库工具2.hive的默认使用什么数据库?生产上我们一般用什么?默认使用derby生产使用MySQL3.hive的元数据存储在哪?数据存储在哪?MySQLHDFS4.hive的SQL语法和什么类似和MySQL语法类似5.hive底层执行计算引擎是什么MapReduce/tez/spark6.hive使用mysql做元数据存储,那么部署过程中,注意什么注
hive错误FAILED:SemanticException Error10041 :Nopartitionpredicatefoundfor如何解决?
hive错误FAILED:SemanticException[Error10041]:Nopartitionpredicatefoundfor如何解决?
关于Hive调优的实例讲解
关于Hive调优的实例讲解。1javaheapspace异常,如果仅设置:setmapredmapchildjavaopts=-Xmx2048m;
如何理解HIve函数row_number?
如何理解HIve函数row_number?使用语法:使用语法:ROW_NUMBER()OVER(PARTITIONBYCOLUMNORDERBYCOLUMN)
hive中leftjoin、leftouterjoin和leftsemijoin的区别详解
hive中leftjoin、leftouterjoin和leftsemijoin的区别详解。先说结论,再举例子。