- ファイル保存形式の使用の合理化
テーブルの構造は、ORCを利用する場合、寄木細工の記憶フォーマット列が記憶テーブルの列ので、データの各列が列のみハイブデータクエリを横断する必要があり、物理的に一緒に格納され、データが大幅に減少れる処理します量。
- 適切なファイル圧縮を使用します
ハイブは、実行される最終的に変換されたMapReduceプログラムで、MapReduceのパフォーマンスのボトルネックは、ディスクおよびネットワークIO IOで、解決のパフォーマンスのボトルネックに、最も重要なのは、データの量を減少させることである、データ圧縮が良い方法です。圧縮はデータの量が、圧縮処理は、パフォーマンスのボトルネックCPU CPUを消費しますが、Hadoopの中で、多くの場合ではないが、CPUの圧力は、圧縮された比較アイドルのCPUをフルに活用素晴らしいではありません。
一般的なファイル圧縮形式:
圧縮フォーマット | 缶スプリット | かどうかは来ます | 圧縮比 | スピード | Hadoopのが来るかどうか |
GZIP | ノー | それはあります | 高いです | 高速化 | それはあります |
LZO- | それはあります | それはあります | 比較的高いです | すばやく | インストールする必要はありません |
てきぱき | ノー | それはあります | 比較的高いです | すばやく | インストールする必要はありません |
BZIP2 | それはあります | ノー | 最高 | 遅いです | それはあります |
それぞれの圧縮クラスに対応します:
圧縮フォーマット | カテゴリ |
GZIP | org.apache.hadoop.io.compress.GzipCodec |
LZO- | org.apache.hadoop.io.compress.lzo.LzoCodec |
てきぱき | org.apache.hadoop.io.compress.SnappyCodec |
BZIP2 | org.apache.hadoop.io.compress.BZip2Codec |
zlibの | org.apache.hadoop.io.compress.DefaultCodec |
LZ4 | org.apache.hadoop.io.compress.Lz4Codec |
圧縮オプション:
圧縮比
圧縮と解凍スピード
分割をサポートするかどうか
圧縮の使用:
gzipで圧縮された方法で、ブロックに応じてジョブの出力ファイル:
セットmapreduce.output.fileoutputformat.compress =真//默认值是偽 セットmapreduce.output.fileoutputformat.compress.type = BLOCK //默认值是録音が 設定mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop .io.compress.GzipCodec //默认值是org.apache.hadoop.io.compress.DefaultCodec
出力もGzip圧縮の地図:
セットmapred.map.output.compress =真 セットmapreduce.map.output.compress.codec = org.apache.hadoop.io.compress.GzipCodec //默认值是org.apache.hadoop.io.compress.DefaultCodec
ハイブと中間圧縮の出力は、次のとおりです。
hive.exec.compress.output =真//デフォルト値はfalseで設定し、圧縮なしの セットhive.exec.compress.intermediate =真//デフォルト値はtrueにMR圧縮セットに有効化され、偽であります