首页 > 代码库 > Hive-4-Hive的文件格式

Hive-4-Hive的文件格式

Hive文件格式

1、 TextFile

 

默认文件格式

数据不做压缩,磁盘开销大,数据解析开销大,可以结合Gzip、Bzip2使用(系统自动检测,执行查询时自动解压)

数据不会被Hive切分,所以无法对数据进行并行操作

创建命令:

 技术分享

2、 SequenceFile

 

是Hadoop API提供的一种二进制文件支持

使用方便、可分割、可压缩的特点

支持三种压缩方式:NONE\RECORD(压缩率低)\BLOCK(建议使用)

创建命令:

技术分享

第二个红框是设置压缩方式,sequencefile和RCFile格式不能直接从本地文件导入数据,数据必须要先导入到TextFile格式的表中,然后再从TextFile表中用Insert导入到SequenceFile和RCFile表中

3、 RCFile

 

Facebook开发,行列存储相结合的存储方式

压缩比更高

读取列更快

RCFile存储结构遵循“先水平划分,再垂直划分”的设计里面,如图:

技术分享

首先,RCFile保证同一行的数据位于同一个节点上,其次,像列存储一样,RCFile能够利用列唯独的数据压缩,并且能够跳过不必要的列读取

创建命令:

技术分享

 

4、 自定义

 

当用户的数据文件格式不能被当前Hive使用的时候,可以自定义文件格式,通过实现InputFormat和OutputFormat自定义输入输出格式

创建命令:

 技术分享

 

5、 Hive三种文件格式的比较

 技术分享

Hive-4-Hive的文件格式