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

507 阅读1分钟
原文链接: click.aliyun.com

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


700

按照数据存储方式分类

官方文档地址
cwiki.apache.org/confluence/…

按照行存储

SEQUENCEFILE
TEXTFILE

按照列存储

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

700

237

700

491

492
664

文件格式的压缩比较

参考文档zh.hortonworks.com/blog/orcfil…

700

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

1、创建文本表

532

2、加载数据

700

image.png


700

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

700

4、创建ocr文件

671

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

700

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

700

7、查看文件大小

原始文本文件的大小
634
orc文件大小
602
partquet文件大小
651