我正在运行一些关于 Hive 可用存储格式的测试,并使用 Parquet 和 ORC 作为主要选项。我一次使用默认压缩包含 ORC,一次使用 Snappy 包含 ORC。
我已经阅读了许多文档,它们声明 Parquet 在时间/空间复杂性方面比 ORC 更好,但我的测试与我阅读的文档相反。
以下是我数据的一些细节。
Table A- Text File Format- 2.5GB
Table B - ORC - 652MB
Table C - ORC with Snappy - 802MB
Table D - Parquet - 1.9 GB
拼花地板对我的桌子来说是最糟糕的压缩。
我对以上表格的测试得到了以下结果。
行计数操作
Text Format Cumulative CPU - 123.33 sec
Parquet Format Cumulative CPU - 204.92 sec
ORC Format Cumulative CPU - 119.99 sec
ORC with SNAPPY Cumulative CPU - 107.05 sec
列操作之和
Text Format Cumulative CPU - 127.85 sec
Parquet Format Cumulative CPU - 255.2 sec
ORC Format Cumulative CPU - 120.48 sec
ORC with SNAPPY Cumulative CPU - 98.27 sec
列操作的平均值
Text Format Cumulative CPU - 128.79 sec
Parquet Format Cumulative CPU - 211.73 sec
ORC Format Cumulative CPU - 165.5 sec
ORC with SNAPPY Cumulative CPU - 135.45 sec
使用 where 子句从给定范围选择4列
Text Format Cumulative CPU - 72.48 sec
Parquet Format Cumulative CPU - 136.4 sec
ORC Format Cumulative CPU - 96.63 sec
ORC with SNAPPY Cumulative CPU - 82.05 sec
这是否意味着 ORC 比 Parquet 快?或者我可以做些什么来使它在查询响应时间和压缩比方面更好地工作?
谢谢!