以下是我的数据的一些细节。
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
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
谢谢!
我想说,这两种格式都有各自的优点。
如果您有高度嵌套的数据,Parquet可能会更好,因为它像Google Dremel一样将其元素存储为树(参见此处)。
Apache ORC可能更好,如果您的文件结构是扁平的。
据我所知,parquet还不支持索引。ORC提供了一个轻量级索引,由于Hive0.14,还提供了一个额外的Bloom过滤器,这可能有助于更好的查询响应时间,特别是当涉及求和操作时。