中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hadoop和hbase中的壓縮怎么配置

發布時間:2021-12-09 13:45:51 來源:億速云 閱讀:183 作者:iii 欄目:云計算

這篇文章主要講解了“hadoop和hbase中的壓縮怎么配置”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“hadoop和hbase中的壓縮怎么配置”吧!

Hadoop中常用的壓縮算法有bzip2、gzip、lzo、snappy,其中lzo、snappy需要操作系統安裝native庫才可以支持

下面這張表,是比較官方一點的統計,不同的場合用不同的壓縮算法。bzip2和GZIP是比較消耗CPU的,壓縮比最高,GZIP不能被分塊并行的處理;Snappy和LZO差不多,稍微勝出一點,cpu消耗的比GZIP少。

通常情況下,想在CPU和IO之間取得平衡的話,用Snappy和lzo比較常見一些。

Comparison between compression algorithms

Algorithm% remainingEncodingDecoding
GZIP13.4%21 MB/s118 MB/s
LZO20.5%135 MB/s410 MB/s
Snappy22.2%172 MB/s409 MB/s

對于數據格式為TextFile,Sequence,以及其他用戶自定義的文件格式的文件,都可以采用以上的壓縮算法進行壓縮;

TextFile在壓縮以后,不能split,壓縮出來的數據當做job的輸入是一個文件作為一個map。SequenceFile本身是分塊的, 加上lzo的壓縮格式,文件可以實現lzo方式的split操作,可以按照record、block進行壓縮,一般采用block效率更高一些。

一、hadoop(hive)對mapreduce壓縮參數設置
1、mapreduce的中間結果對壓縮的支持

方法一:

hadoop 中 mapred-site.xml

<property>

<name>mapred.compress.map.output</name>

<value>true</value>

</property>

<property>

<name>mapred.map.output.compression.codec</name>

<value>com.hadoop.compression.lzo.LzoCodec</value>

</property>


 方法二

hive中hive-site.xml

<property>
  <name>hive.exec.compress.intermediate</name>
  <value>true</value>
  <description>Should the outputs of the maps be compressed before being
               sent across the network. Uses SequenceFile compression.
  </description>
</property>
<property>
  <name>hive.intermediate.compression.codec</name>
  <value>org.apache.hadoop.io.compress.LzoCodec</value>
  <description>If the map outputs are compressed, how should they be
               compressed?
  </description>
</property>
方法三
hive中shell
set hive.exec.compress.intermediate=true;

set hive.intermediate.compression.codec="org.apache.hadoop.io.compress.LzoCodec";

2、mapreduce的輸出結果對壓縮的支持

hive-site.xml中配置:

<property>
  <name>hive.exec.compress.output</name>
  <value>true</value>
  <description>Should the job outputs be compressed?
  </description>
</property>
<property>
  <name>mapred.output.compression.codec</name>
  <value>org.apache.hadoop.io.compress.LzoCodec</value>
  <description>If the job outputs are compressed, how should they be compressed?
  </description>
</property>

或者在hadoop-site.xml中添加:

<property>
  <name>io.compression.codecs</name>
  <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.LzoCodec</value>
  <description>A list of the compression codec classes that can be used
               for compression/decompression.</description>
</property>
<property>
  <name>mapred.output.compress</name>
  <value>true</value>
  <description>Should the job outputs be compressed?
  </description>
</property>
<property>
  <name>mapred.output.compression.codec</name>
  <value>org.apache.hadoop.io.compress.LzoCodec</value>
  <description>If the job outputs are compressed, how should they be compressed?
  </description>
</property>

二、HBASE對這三種壓縮格式的支持

HBase中可以對HFile進行gzip、lzo、snappy方式的壓縮存儲。

1、對于gzip壓縮的支持
hbase(main):001:0> create 'testtable', { NAME => 'colfam1',
COMPRESSION => 'GZ' }

或者alter 'testtable',不過要先disable table,完成壓縮后,再enable table

2、對于lzo的支持,需要系統安裝lzo動態庫,以及hadoop lzo相關的native庫,后把native庫jar文件copy到hadoop/lib/native 及 hbase/lib/native中
   同時在core-site.xml中,配置lzo壓縮
     
       <property>
         <name>io.compression.codecs</name>
         <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec
        </value>
       </property>
      <property>
        <name>io.compression.codec.lzo.class</name>
        <value>com.hadoop.compression.lzo.LzoCodec</value>
      </property>

org.apache.hadoop.io.compress.DefaultCodec是hadoop默認的zlib壓縮

hbase(main):001:0> create 'testtable', { NAME => 'colfam1',
COMPRESSION => 'lzo' }
 3、  對于synappy的支持,需要安裝snappy,并且 將 hadoop-snappy-0.0.1-SNAPSHOT.tar.gz 的native中的動態靜態鏈接庫文件拷到hadoop以及hbase lib的native下面,將hadoop-snappy-0.0.1-SNAPSHOT.jar考到hadoop 以及hbase 的lib下
   在core-site.xml中,配置lzo壓縮
     
       <property>
         <name>io.compression.codecs</name>
         <value>org.apache.hadoop.io.compress.SnappyCodec
        </value>
       </property>

hbase(main):001:0> create 'testtable', { NAME => 'colfam1',
COMPRESSION => 'synappy' }

感謝各位的閱讀,以上就是“hadoop和hbase中的壓縮怎么配置”的內容了,經過本文的學習后,相信大家對hadoop和hbase中的壓縮怎么配置這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西华县| 铁岭市| 安塞县| 乌什县| 木兰县| 金湖县| 舒兰市| 山西省| 廊坊市| 布尔津县| 石狮市| 卓资县| 吉木萨尔县| 中江县| 东源县| 苗栗县| 肇庆市| 富蕴县| 湘潭市| 陇西县| 古交市| 海城市| 枣庄市| 靖安县| 肥城市| 屏山县| 申扎县| 乌鲁木齐县| 景宁| 富平县| 龙南县| 宣恩县| 兴山县| 林州市| 五台县| 柳河县| 白河县| 崇义县| 轮台县| 郴州市| 台北市|