hadoop支援Lzo壓縮配置及案例

2021-09-29 06:20:59 字數 2432 閱讀 8871

hadoop支援lzo壓縮配置

1)hadoop本身並不支援lzo壓縮,故需要使用twitter提供的hadoop-lzo開源元件。hadoop-lzo需依賴hadoop和lzo進行編譯,編譯步驟如下。

2)將編譯好後的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/

[atguigu@hadoop102 common]$ pwd

/opt/module/hadoop-2.7.2/share/hadoop/common

[atguigu@hadoop102 common]$ ls

hadoop-lzo-0.4.20.jar

3)同步hadoop-lzo-0.4.20.jar到hadoop103、hadoop104

[atguigu@hadoop102 common]$ xsync hadoop-lzo-0.4.20.jar
4)core-site.xml增加配置支援lzo壓縮

<?xml version=

"1.0" encoding=

"utf-8"?>

<?xml-stylesheet type=

"text/xsl" href=

"configuration.xsl"?>

io.compression.codecs

org.apache.hadoop.io.compress.gzipcodec,

org.apache.hadoop.io.compress.defaultcodec,

org.apache.hadoop.io.compress.bzip2codec,

com.hadoop.compression.lzo.lzocodec,

com.hadoop.compression.lzo.lzopcodec

io.compression.codec.lzo.class

com.hadoop.compression.lzo.lzocodec

5)同步core-site.xml到hadoop103、hadoop104

[atguigu@hadoop102 hadoop]$ xsync core-site.xml

6)啟動及檢視集群

[atguigu@hadoop102 hadoop-2.7.2]$ sbin/start-dfs.sh

[atguigu@hadoop103 hadoop-2.7.2]$ sbin/start-yarn.sh

7)建立lzo檔案的索引,lzo壓縮檔案的可切片特性依賴於其索引,故我們需要手動為lzo壓縮檔案建立索引。若無索引,則lzo檔案的切片只有乙個。

hadoop jar /path/to/your/hadoop-lzo.jar  big_file.lzo
案例: 以hadoop自帶的wordcount為例mr輸出結果為lzo格式1.建立word.txt檔案,並寫上幾個單詞上傳到hdfs上

[atguigu@hadoop202 bin]$ vim word.txt

[atguigu@hadoop202 bin]$ hdfs dfs -put word.txt /input

2.執行wordcount案例

[atguigu@hadoop202 bin]$ hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar  wordcount -d mapreduce.output.fileoutputformat.compress=true -d maputformat.compress.codec=com.hadoop.compression.lzo.lzopcodec /input /output
在hdfs上看到結果:

此時的lzo檔案如果去執行mr任務時任然只會產生乙個切片,lzo壓縮檔案的可切片特性依賴於其索引,故我們需要手動為lzo壓縮檔案建立索引。

此時hdfs上會產生帶有索引的lzo檔案

Hadoop新增LZO壓縮支援

啟用lzo的壓縮方式對於小規模集群是很有用處,壓縮比率大概能降到原始日誌大小的1 3。同時解壓縮的速度也比較快。3 將編譯好後的hadoop lzo 0.4.20.jar 放入hadoop 2.7.2 share hadoop common root bigdata 01 common pwd ex...

專案經驗之支援LZO壓縮配置

1.將編譯好後的hadoop lzo 0.4.20.jar 放入hadoop 3.1.3 share hadoop common 2.同步hadoop lzo 0.4.20.jar到hadoop103 hadoop104 3.core site.xml增加配置支援lzo壓縮 io.compressi...

編譯hadoop支援snappy壓縮

kylin 在build cube 時出現hadoop 不支援壓縮的問題,原因是 hadoop 的二進位制安裝包中沒有 支援,需要手工重新編譯。編譯過程 1.安裝包列表 protobuf 2.5.0.tar.gz hadoop 2.6.4 src.tar.gz 2.編譯安裝 3.編譯安裝 proto...