Hiveで利用可能なストレージ形式でいくつかのテストを実行し、主要なオプションとしてParquetとORCを使用しています。ORCをデフォルトの圧縮で1回、Snappyで1回含めました。
私は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が寄木細工より速いことを意味しますか?または、クエリの応答時間と圧縮率を改善するためにできることはありますか?
ありがとう!