Hive中文件存储格式及大小比较测试

在hive中创建表是有如下一个语句

[ROW FORMAT row_format]

row_format 的类型有如下:

file_format:
: SEQUENCEFILE
| TEXTFILE -- (Default, depending on hive.default.fileformat configuration)
| RCFILE -- (Note: Available in Hive 0.6.0 and later)
| ORC -- (Note: Available in Hive 0.11.0 and later)
| PARQUET -- (Note: Available in Hive 0.13.0 and later)
| AVRO -- (Note: Available in Hive 0.14.0 and later)
| INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
默认是文本格式例如:


Hive中文件存储格式及大小比较测试

按照数据存储方式分类

官方文档地址
https://cwiki.apache.org/confluence/display/Hive/SerDe

按照行存储

SEQUENCEFILE
TEXTFILE

按照列存储

RCFILE
ORC
PARQUET

说明:parquet目前已经是apache的*项目了,在hive,hbase,spark中都是经常使用的。

Hive中文件存储格式及大小比较测试

Hive中文件存储格式及大小比较测试

Hive中文件存储格式及大小比较测试

Hive中文件存储格式及大小比较测试

Hive中文件存储格式及大小比较测试
Hive中文件存储格式及大小比较测试

文件格式的压缩比较

参考文档http://zh.hortonworks.com/blog/orcfile-in-hdp-2-better-compression-better-performance/

Hive中文件存储格式及大小比较测试

实际业务我们是按照列来分析数据及使用数据的。

1、创建文本表

Hive中文件存储格式及大小比较测试

2、加载数据

Hive中文件存储格式及大小比较测试

image.png


Hive中文件存储格式及大小比较测试

3、查看创建OCR文件的格式

Hive中文件存储格式及大小比较测试

4、创建ocr文件

Hive中文件存储格式及大小比较测试

5、把文件表中的数据插入到OCR类型的表中

Hive中文件存储格式及大小比较测试

6、创建parquet类型的表并插入数据

Hive中文件存储格式及大小比较测试

7、查看文件大小

原始文本文件的大小
Hive中文件存储格式及大小比较测试
orc文件大小
Hive中文件存储格式及大小比较测试
partquet文件大小
Hive中文件存储格式及大小比较测试
上一篇:Hive动态分区


下一篇:创建带压缩格式的orc表