段圧縮機構のデータをシャッフル

シャッフルステージからの大量のデータマップの出力段は、に送られる減らす位相、このプロセスは、ネットワークの多数含み得るIOを

出力データが大きい場合には、使用のHadoopデータ圧縮により設けられた圧縮機構は、圧縮モードを特定することができますネットワーク帯域幅の消費とストレージを削減

することができますマップの出力を圧縮するマップするために出力を減らすことができ、プロセス入力をシャッフルネットワーク中に転送されるデータの量を)

することができます減らす圧縮生成される出力を(最終的に保存するためのHDFS主に占領減らすために、データをHDFSのストレージ)

1.1。Hadoopの圧縮アルゴリズムをサポート

使用のHadoop checknativeを表示するHadoopの圧縮アルゴリズムの様々ながある場合は、サポートOpenSSLはある偽の、その行は依存関係でインストールされています。

 

Hadoopのサポートされている圧縮アルゴリズム

圧縮フォーマット

ツール

アルゴリズム

ファイル名の拡張子

セグメンテーションかどうか

DEFLATE

ノー

DEFLATE

.deflate

ノー

Gzipで

GZIP

DEFLATE

.gzを

ノー

BZIP2

BZIP2

BZIP2

BZ2

それはあります

LZO-

lzopの

LZO-

.lzo

ノー

LZ4

ノー

LZ4

.lz4

ノー

スナッピー

ノー

スナッピー

.snappy

ノー

 

使用して、さまざまな圧縮アルゴリズムに対応するJavaクラスを

圧縮フォーマット

対応を使用するJava クラス

DEFLATE

org.apache.hadoop.io.compress.DeFaultCodec

GZIP

org.apache.hadoop.io.compress.GZipCodec

BZIP2

org.apache.hadoop.io.compress.BZip2Codec

LZO-

com.hadoop.compression.lzo.LzopCodec

LZ4

org.apache.hadoop.io.compress.Lz4Codec

スナッピー

org.apache.hadoop.io.compress.SnappyCodec

 

モード:圧縮コードセット

設定し、マップの圧縮段階

コンフィギュレーション設定=新しいConfiguration();

configuration.set( "mapreduce.map.output.compress"、 "真");

configuration.set( "mapreduce.map.output.compress.codec"、 "org.apache.hadoop.io.compress.SnappyCodec");

 

設定減らす段圧縮を

configuration.set( "mapreduce.output.fileoutputformat.compress"、 "真");

configuration.set( "mapreduce.output.fileoutputformat.compress.type"、 "RECORD");

configuration.set( "mapreduce.output.fileoutputformat.compress.codec"、 "org.apache.hadoop.io.compress.SnappyCodec");

 

第二の方法:グローバル設定のMapReduce 圧縮を

私たちは、修正することができmapred-のsite.xmlのすべてのように、クラスタを再起動し、設定ファイルをのMapReduce圧縮タスク。

マップデータが圧縮された出力を

<プロパティ>

<名前> mapreduce.map.output.compress </名前>

<値>真</ value>の

</プロパティ>

<プロパティ>

<名前> mapreduce.map.output.compress.codec </名前>

<値> org.apache.hadoop.io.compress.SnappyCodec </ value>の

</プロパティ>

削減圧縮された出力データを

<プロパティ> <名前> mapreduce.output.fileoutputformat.compress </名前>

       <値>真</ value>の

</プロパティ>

<property><name>mapreduce.output.fileoutputformat.compress.type</name>

<value>RECORD</value>

</property>

 <property><name>mapreduce.output.fileoutputformat.compress.codec</name>

<value>org.apache.hadoop.io.compress.SnappyCodec</value> </property>

所有节点都要修改mapred-site.xml,修改完成之后记得重启集群

 

 

 



おすすめ

転載: www.cnblogs.com/TiePiHeTao/p/f097cc586147923ea16dce673c2e5b74.html