Hive我爱编程

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

2018-03-12  本文已影响67人  明明德撩码

在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
默认是文本格式例如:


按照数据存储方式分类

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

按照行存储

SEQUENCEFILE
TEXTFILE

按照列存储

RCFILE
ORC
PARQUET

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

文件格式的压缩比较

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

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

1、创建文本表

2、加载数据

image.png

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

4、创建ocr文件

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

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

7、查看文件大小

原始文本文件的大小
orc文件大小
partquet文件大小

执行sql语句测试执行速度



上一篇下一篇

猜你喜欢

热点阅读