hadoop 壓縮 gzip biz2 lzo snappy
整合snappy和LZO壓縮格式的一般步驟如下:
- 1)編譯hadoop-xxx-master.zip得到一個hadoop-xxx-0.0.1-SNAPSHOT.jar和native/Linux-amd64-64/*.so等檔案;
- 2)拷貝上面的jar和so檔案到hadoop或者hbase的目錄
- 1)編譯hadoop-xxx-master.zip得到一個hadoop-xxx-0.0.1-SNAPSHOT.jar和native/Linux-amd64-64/*.so等檔案;
- 2)拷貝上面的jar到hadoop或者hbase的目錄
- 3)配置環境變數LD_LIBRARY_PATH,把所有的相關so檔案目錄都放進去,比如export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native:/usr/local/lib:/usr/local/lzo-2.10/lib
1.Apache hadoop預設安裝包不支援Snappy和LZO原因
Apache hadoop官網提供的hadoop版本本身就支援Bzip2、Gzip、DEFLATE3種壓縮格式,不支援Snappy和LZO格式,原因是Snappy和LZO的程式碼庫擁有GPL開源協議許可,而不是Apache開源協議許可,關於Snappy和LZO需要hadoop運維或者hadoop提供商自己整合。關於開原始碼協議GPL、BSD、MIT、Mozilla、Apache和LGPL的區別詳見下圖:
2.hadoop壓縮優點
- 減少了儲存檔案所需的空間
- 加速了網路、磁碟或磁碟的資料傳輸
3.選擇hadoop檔案壓縮格式考慮三個因素
- 檔案壓縮比例
- 檔案解壓縮效率
- 該壓縮格式的檔案是否可被切分,不能切分直接影響mapreduce的map的個數,從而導致mapreduce效率低下
4.壓縮格式優缺點以及應用場景
預設Apache hadoop官網下載的安裝檔案預設就支援Bzip2、Gzip、DEFLATE3種壓縮格式,但是不支援Snappy和LZO壓縮格式。因為Snappy和LZO程式碼庫擁有GPL許可,所以沒有包含在Apache的發行版本中。4.1 DEFLATE壓縮
DEFLATE是一個標準壓縮演算法,該演算法的標準實現是zlib。沒有可用於生成EFLATE檔案的常用linux命令工具,因為通常都不會用這個格式,而用gzip格式。gzip檔案格式只是在DEFLATE格式上增加了檔案頭和一個檔案尾。其檔案以.deflate結尾。4.2 gzip壓縮
優點:
- 壓縮率比較高,而且壓縮/解壓速度也比較快;
- hadoop本身支援,在應用中處理gzip格式的檔案就和直接處理文字一樣;
- 有hadoop native庫;
- 大部分linux系統都自帶gzip命令,使用方便
- 不支援split
4.3 bzip2壓縮
優點:- 支援split;
- 具有很高的壓縮率,比gzip壓縮率都高;
- hadoop本身支援,但不支援native;
- 在linux系統下自帶bzip2命令,使用方便
- 壓縮/解壓速度慢;
- 不支援native
4.4 lzo壓縮
優點:- 壓縮/解壓速度也比較快,合理的壓縮率;
- 支援split,是hadoop中最流行的壓縮格式;
- 支援hadoop native庫;
- 可以在linux系統下安裝lzop命令,使用方便
- 壓縮率比gzip要低一些;
- hadoop本身不支援,需要安裝;
- 在應用中對lzo格式的檔案需要做一些特殊處理(為了支援split需要建索引,還需要指定inputformat為lzo格式)
4.5 LZ4壓縮
優點:- 高速壓縮解壓庫, 壓縮率為 zlib 2/3, 但速度很高;
- linux系統下沒有對應的命令;
- 不支援split;
- 不支援流式操作
4.6 snappy壓縮
優點:- 高速壓縮速度和合理的壓縮率;
- 支援hadoop native庫
- 不支援split;
- 壓縮率比gzip要低;
- hadoop本身不支援,需要安裝;
- linux系統下沒有對應的命令
5.整合LZO到Apache hadoop中
關於LZO如何整合到Apache hadoop可以詳見GitHub上hadoop-lzo的原始碼https://github.com/twitter/hadoop-lzo說明,這裡下面的步驟也是我參照原始碼經過實踐得來,關於更詳細的內容(必須的依賴庫,如何安裝,如何處理安裝中LZO找不到,如何去使用LZO)請參見原始碼說明。 如果你在hadoop權威指南里看到LZO的原始碼庫為https://github.com/kevinweil/hadoop-lzo,不足為奇,這個原始碼庫依然在GitHub中,它採用的是ant進行編譯,不過已經6年未更新了,新的hadoop-lzo原始碼已經轉移到https://github.com/twitter/hadoop-lzo,如果你非得使用https://github.com/kevinweil/hadoop-lzo,請參見本文的第7節進行整合。5.2 原始碼編譯前的準備工作
(1) linux庫LZO的安裝 ubuntu中使用apt-get install lzo安裝,centos中使用yum -y install lzo安裝,這裡我個人習慣下載lzo原始碼然後編譯安裝。 注意:這裡的linux庫LZO需要在hadoop叢集的每個節點都需要安裝。#linux安裝lzo
#下載並解壓linux庫lzo原始碼
cd /root
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz
tar -zxvf lzo-2.10.tar.gz
#編譯安裝linuxlzo原始碼
cd /root/lzo-2.10
#這裡我指定安裝linux的lzo庫到linux機器的/usr/local/lzo-2.10目錄
./configure --enable-shared --prefix /usr/local/lzo-2.10
make
make install
(2)JDK安裝#安裝jdk-7u65-linux-x64.gz
#下載jdk-7u65-linux-x64.gz放置於/opt/java/jdk-7u65-linux-x64.gz並解壓
cd /opt/java/
tar -zxvf jdk-7u65-linux-x64.gz
#配置linux系統環境變數
vi /etc/profile
#在檔案末尾追加如下內容
export JAVA_HOME=/opt/java/jdk1.7.0_65
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#使配置生效
source /etc/profile
#檢查JDK環境是否配置成功
java -version
(3)MAVEN安裝#1.下載apache-maven-3.3.3.tar.gz放置於/opt/下並解壓
cd /opt
tar zxvf apache-maven-3.3.3.tar.gz
#2.配置環境變數
vi /etc/profile
#新增如下內容
MAVEN_HOME=/opt/apache-maven-3.3.3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
#3.使配置生效
source /etc/profile
#4.檢測maven是否安裝成功
mvn -version
#5.配置maven倉庫映象,目前國內maven映象建議使用阿里雲庫
vi /home/hadoop/.m2/settings.xml
#內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--預設下載依賴放置於/home/hadoop/.m2/repository目錄下,這裡我指定我想存放於/opt/maven-localRepository-->
<localRepository>/opt/maven-localRepository</localRepository>
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors>
<!--add by aperise start-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!--add by aperise end-->
</mirrors>
<profiles>
</profiles>
</settings>
5.3 hadoop-lzo庫編譯安裝
#下載並解壓原始碼hadoop-lzo-master
cd /home/hadoop
wget https://github.com/twitter/hadoop-lzo/archive/hadoop-lzo-master.zip
unzip hadoop-lzo-master.zip
cd /home/hadoop/hadoop-lzo-master
#注意以下三行一起執行,前兩行是指定LZO庫檔案所在位置,注意和之前安裝的linux庫LZO所在位置保持一致
C_INCLUDE_PATH=/usr/local/lzo-2.10/include \
LIBRARY_PATH=/usr/local/lzo-2.10/lib \
mvn clean package -DskipTests
編譯完成後會在/home/hadoop/hadoop-lzo-master/target下得到如下檔案:
其中hadoop-lzo-0.4.21-SNAPSHOT.jar和native就是我們需要的jar和庫檔案,在後面只需要拷貝jar和native下面的庫檔案到hadoop下即可完成整合,這裡在/home/hadoop/hadoop-lzo-master/target/native/Linux-amd64-64/lib的庫檔案如下:
5.4 整合hadoop-lzo庫到hadoop-2.7.4
需要拷貝hadoop-lzo-0.4.21-SNAPSHOT.jar到/home/hadoop/hadoop-2.7.4/share/hadoop/common/lib/下面,需要拷貝/home/hadoop/hadoop-lzo-master/target/native/Linux-amd64-64/lib/下的檔案到/home/hadoop/hadoop-2.7.4/lib/native/下面cp -r /home/hadoop/hadoop-lzo-master/target/native/Linux-amd64-64/lib/* /home/hadoop/hadoop-2.7.4/lib/native/
cp -r /home/hadoop/hadoop-lzo-master/target/hadoop-lzo-0.4.21-SNAPSHOT.jar /home/hadoop/hadoop-2.7.4/share/hadoop/common/lib/
6.整合Snappy到Apache hadoop中
關於Snappy如何整合到Apache hadoop可以詳見GitHub上hadoop-snappy的原始碼https://github.com/electrum/hadoop-snappy說明,這裡下面的步驟也是我參照原始碼經過實踐得來,關於更詳細的內容(必須的依賴庫,如何安裝)請參見原始碼說明。6.2 原始碼編譯前的準備工作
(1) linux庫Snappy的安裝 ubuntu中使用apt-get install snappy安裝,centos中使用yum -y install snappy安裝,這裡我個人習慣下載snappy原始碼然後編譯安裝。 注意:這裡的linux庫LZO需要在hadoop叢集的每個節點都需要安裝。 (2)JDK安裝#安裝jdk-7u65-linux-x64.gz
#下載jdk-7u65-linux-x64.gz放置於/opt/java/jdk-7u65-linux-x64.gz並解壓
cd /opt/java/
tar -zxvf jdk-7u65-linux-x64.gz
#配置linux系統環境變數
vi /etc/profile
#在檔案末尾追加如下內容
export JAVA_HOME=/opt/java/jdk1.7.0_65
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#使配置生效
source /etc/profile
#檢查JDK環境是否配置成功
java -version
(3)MAVEN安裝#1.下載apache-maven-3.3.3.tar.gz放置於/opt/下並解壓
cd /opt
tar zxvf apache-maven-3.3.3.tar.gz
#2.配置環境變數
vi /etc/profile
#新增如下內容
MAVEN_HOME=/opt/apache-maven-3.3.3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
#3.使配置生效
source /etc/profile
#4.檢測maven是否安裝成功
mvn -version
#5.配置maven倉庫映象,目前國內maven映象建議使用阿里雲庫
vi /home/hadoop/.m2/settings.xml
#內容如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--預設下載依賴放置於/home/hadoop/.m2/repository目錄下,這裡我指定我想存放於/opt/maven-localRepository-->
<localRepository>/opt/maven-localRepository</localRepository>
<pluginGroups></pluginGroups>
<proxies></proxies>
<servers></servers>
<mirrors>
<!--add by aperise start-->
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!--add by aperise end-->
</mirrors>
<profiles>
</profiles>
</settings>
6.3 hadoop-snappy庫編譯安裝
#下載並解壓原始碼hadoop-snappy-master
cd /home/hadoop
wget https://github.com/electrum/hadoop-snappy/archive/hadoop-snappy-master.zip
unzip hadoop-snappy-master.zip
cd /home/hadoop/hadoop-snappy-master
#編譯中如果遇到問題,請參見http://www.cnblogs.com/shitouer/archive/2013/01/14/2859475.html進行解決
mvn package
編譯完成後會在/home/hadoop/hadoop-snappy-master/target下得到如下檔案:
其中hadoop-snappy-0.0.1-SNAPSHOT.tar.gz就是我們需要的檔案,裡面包含hadoop-snappy-0.0.1-SNAPSHOT.jar和相關庫檔案。
6.4 整合hadoop-snappy庫到hadoop-2.7.4
需要拷貝hadoop-snappy-0.0.1-SNAPSHOT.jar到/home/hadoop/hadoop-2.7.4/share/hadoop/common/lib/下面,需要拷貝/home/hadoop/hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/下的檔案到/home/hadoop/hadoop-2.7.4/lib/native/下面#解壓hadoop-snappy-0.0.1-SNAPSHOT.tar.gz
cp /home/hadoop/hadoop-snappy-master/target/hadoop-snappy-0.0.1-SNAPSHOT.tar.gz /home/hadoop/
cd /home/hadoop
tar -zxvf hadoop-snappy-0.0.1-SNAPSHOT.tar.gz
#拷貝jar和庫到
cp -r /home/hadoop/hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/* /home/hadoop/hadoop-2.7.4/lib/native/
cp -r /home/hadoop/hadoop-snappy-0.0.1-SNAPSHOT/lib/hadoop-snappy-0.0.1-SNAPSHOT.jar /home/hadoop/hadoop-2.7.4/share/hadoop/common/lib
7.整合LZO到Apache hadoop中(另一個hadoop-lzo庫,GitHub已經6年未更新,不建議用,因為hadoop權威指南提到,這裡把實踐的整合記錄一下)
關於LZO如何整合到Apache hadoop可以詳見GitHub上hadoop-lzo的原始碼https://github.com/kevinweil/hadoop-lzo說明,這裡下面的步驟也是我參照原始碼經過實踐得來,關於更詳細的內容(必須的依賴庫,如何安裝,如何處理安裝中LZO找不到,如何去使用LZO)請參見原始碼說明。7.2 原始碼編譯前的準備工作
(1) linux庫LZO的安裝 ubuntu中使用apt-get install lzo安裝,centos中使用yum -y install lzo安裝,這裡我個人習慣下載lzo原始碼然後編譯安裝。 注意:這裡的linux庫LZO需要在hadoop叢集的每個節點都需要安裝。#linux安裝lzo
#下載並解壓linux庫lzo原始碼
cd /root
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz
tar -zxvf lzo-2.10.tar.gz
#編譯安裝linuxlzo原始碼
cd /root/lzo-2.10
./configure --enable-shared
make
make install
(2)JDK安裝#安裝jdk-7u65-linux-x64.gz
#下載jdk-7u65-linux-x64.gz放置於/opt/java/jdk-7u65-linux-x64.gz並解壓
cd /opt/java/
tar -zxvf jdk-7u65-linux-x64.gz
#配置linux系統環境變數
vi /etc/profile
#在檔案末尾追加如下內容
export JAVA_HOME=/opt/java/jdk1.7.0_65
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#使配置生效
source /etc/profile
#檢查JDK環境是否配置成功
java -version
(3)ANT安裝
#下載並解壓apache-ant-1.8.2-bin.zip
cd /home/hadoop
wget http://mirrors.tuna.tsinghua.edu.cn/apache//ant/binaries/apache-ant-1.8.2-bin.zip
unzip apache-ant-1.8.2-bin.zip
#編輯/home/hadoop/.bashrc,在檔案末尾追加如下內容
vi /home/hadoop/.bashrc
export ANT_HOME=/opt/apache-ant-1.8.2
export PATH=${PATH}:${ANT_HOME}/bin
#使得/home/hadoop/.bashrc配置生效
source /home/hadoop/.bashrc
#測試ant是否生效
ant -version
7.3 hadoop-lzo庫編譯安裝
#編譯安裝hadoop-lzo-master
cd /home/hadoop
wget https://github.com/kevinweil/hadoop-lzo/archive/hadoop-lzo-master.zip
unzip hadoop-lzo-master.zip
cd /home/hadoop/hadoop-lzo-master
#注意以下三行一起執行,前兩行是指定LZO庫檔案所在位置
CFLAGS=-m64 \
CXXFLAGS=-m64 \
ant compile-native tar
編譯完成後會在/home/hadoop/hadoop-lzo-master/build下得到如下檔案:
其中hadoop-lzo-0.4.15-SNAPSHOT.jar和native就是我們需要的jar和庫檔案,在後面只需要拷貝jar和native下面的庫檔案到hadoop下即可完成整合,這裡在/home/hadoop/hadoop-lzo-master/build/native/Linux-amd64-64/lib的庫檔案如下:
7.4 整合hadoop-lzo庫到hadoop-2.7.4
需要拷貝hadoop-lzo-0.4.15-SNAPSHOT.jar到/home/hadoop/hadoop-2.7.4/share/hadoop/common/lib/下面,需要拷貝/home/hadoop/hadoop-lzo-master/target/native/Linux-amd64-64/lib/下的檔案到/home/hadoop/hadoop-2.7.4/lib/native/下面cp -r /home/hadoop/hadoop-lzo-master/build/native/Linux-amd64-64/lib/* /home/hadoop/hadoop-2.7.4/lib/native/
cp -r /home/hadoop/hadoop-lzo-master/build/hadoop-lzo-0.4.15-SNAPSHOT.jar /home/hadoop/hadoop-2.7.4/share/hadoop/common/lib/
7.5 遇到的問題([javah] Error: Class org.apache.hadoop.conf.Configuration could not be found)
編譯中遇到的問題錯誤資訊如下:ivy-retrieve-common:
[ivy:retrieve] :: retrieving :: com.hadoop.gplcompression#Hadoop-GPL-Compression
[ivy:retrieve] confs: [common]
[ivy:retrieve] 0 artifacts copied, 3 already retrieved (0kB/6ms)
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = /opt/hadoop-lzo-master/ivy/ivysettings.xml
init:
compile-java:
[javac] /opt/hadoop-lzo-master/build.xml:243: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
check-native-uptodate:
compile-native:
[javah] Error: Class org.apache.hadoop.conf.Configuration could not be found.
BUILD FAILED
/opt/hadoop-lzo-master/build.xml:266: compilation failed
解決辦法如下,修改/opt/hadoop-lzo-master/build.xml中如下內容:
<target name="compile-native" depends="compile-java,check-native-uptodate" unless="native.uptodate">
<mkdir dir="${build.native}/lib"/>
<mkdir dir="${build.native}/src/com/hadoop/compression/lzo"/>
<javah classpath="${build.classes}"
destdir="${build.native}/src/com/hadoop/compression/lzo"
force="yes"
verbose="yes">
<class name="com.hadoop.compression.lzo.LzoCompressor" />
<class name="com.hadoop.compression.lzo.LzoDecompressor" />
</javah>
為ant的target=compile-native指定classpath,修改後為: <target name="compile-native" depends="compile-java,check-native-uptodate" unless="native.uptodate">
<mkdir dir="${build.native}/lib"/>
<mkdir dir="${build.native}/src/com/hadoop/compression/lzo"/>
<javah classpath="${build.classes}"
destdir="${build.native}/src/com/hadoop/compression/lzo"
force="yes"
verbose="yes">
<class name="com.hadoop.compression.lzo.LzoCompressor" />
<class name="com.hadoop.compression.lzo.LzoDecompressor" />
<classpath refid="classpath"/>
</javah>
8.Apache hadoop中配置壓縮
8.1HDFS配置壓縮
注意:這裡可以配置多個 core-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,
com.hadoop.compression.lzo.LzoCodec,
com.hadoop.compression.lzo.LzopCodec,
org.apache.hadoop.io.compress.Lz4Codec,
org.apache.hadoop.io.compress.SnappyCodec
</value>
<description>A comma-separated list of the compression codec classes that can
be used for compression/decompression. In addition to any classes specified
with this property (which take precedence), codec classes on the classpath
are discovered using a Java ServiceLoader.</description>
</property>
注意:hadoop是根據檔案的字尾去尋找編解碼用哪個,之前認為com.hadoop.compression.lzo.LzoCodec對應的字尾為".lzo"是錯誤的,查看了hadoop-lzo原始碼發現".lzo"對應的編解碼為com.hadoop.compression.lzo.LzopCodec,查看了原始碼發現".lzo_deflate"對應的編解碼為com.hadoop.compression.lzo.LzoCodec
8.2 MAPREDUCE配置壓縮
注意:這裡只能配置採用一種 mapred-site.xml增加配置:<property>
<name>mapreduce.output.fileoutputformat.compress</name>
<value>true</value>
<description>Should the job outputs be compressed?
</description>
</property>
<property>
<name>mapreduce.output.fileoutputformat.compress.type</name>
<value>RECORD</value>
<description>If the job outputs are to compressed as SequenceFiles, how should
they be compressed? Should be one of NONE, RECORD or BLOCK.
</description>
</property>
<property>
<name>mapreduce.output.fileoutputformat.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
<description>If the job outputs are compressed, how should they be compressed?
</description>
</property>
<property>
<name>mapreduce.map.output.compress</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>mapreduce.map.output.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
<description>If the map outputs are compressed, how should they be
compressed?
</description>
</property>
相關推薦
hadoop 壓縮 gzip biz2 lzo snappy
整合snappy和LZO壓縮格式的一般步驟如下: 1)編譯hadoop-xxx-master.zip得到一個hadoop-xxx-0.0.1-SNAPSHOT.jar和native/Linux-amd64-64/*.so等檔案;2)拷貝上面的jar和so檔案到ha
Hadoop 壓縮格式 gzip/snappy/lzo/bzip2 比較
目前在Hadoop中常用的幾種壓縮格式:lzo,gzip,snappy,bzip2,主要特性對比如下: 壓縮格式 codec類 演算法 副檔名 多檔案 splitable native 工具
hadoop 壓縮-snappy
下載安裝Apache hadoop-1.2.1(bin.tar.gz檔案)搭建集群后,在執行wordcount 時報警告 WARN snappy.LoadSnappy: Snappy native library not loaded。 我們想要給Hadoop叢集增加sna
Hadoop壓縮演算法snappy
Snappy的前身是Zippy。雖然只是一個數據壓縮庫,它卻被Google用於許多內部專案程,其中就包括BigTable,MapReduce和RPC。Google宣稱它在這個庫本身及其演算法做了資料處理速度上的優化,作為代價,並沒有考慮輸出大小以及和其他類似工具的相容性問
java壓縮 GZIP進行簡單壓縮,ZIP進行多文件保存
div ade test ipo fill pop str tput rac java壓縮 GZIP進行簡單壓縮,ZIP進行多文件保存 package org.rui.io.compress; import java.io.BufferedOutputStrea
[Linux] Nginx響應壓縮gzip
img png gzip expire pla 不支持 啟用 bsp ica 壓縮和解壓縮 1.本節介紹如何配置響應的壓縮或解壓縮以及發送壓縮文件。 gzip on; 2.NGINX僅使用MIME類型text / html壓縮響應 gzip_types text/pl
hadoop 壓縮和解壓
Hadoop對於壓縮檔案的支援 如果我們壓縮的檔案有相應壓縮格式的副檔名(比如lzo,gz,bzip2等),hadoop就會根據副檔名去選擇解碼器解壓。 hadoop對每個壓縮格式的支援,詳細見下表: 如果壓縮的檔案沒有副檔名,則需 要在執行mapreduce任務
Hadoop學習筆記之lzo檔案格式
LZO(LZO是Lempel-Ziv-Oberhumer的縮寫)是一種高壓縮比和解壓速度極快的編碼,它的特點是解壓縮速度非常快,無失真壓縮,壓縮後的資料能準確還原,lzo是基於block分塊的,允許資料被分解成chunk,能夠被並行的解壓 一、下載、安裝
hadoop原始碼包編譯驗證 snappy 詳細流程
下載安裝依賴包yum -y install lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool openssl-devel fuse-devel cmake使用root使用者安裝protobuf ,進入p
hadoop壓縮演算法的總結
1. 壓縮成為必須 對資料的3個關鍵特徵描述 3V:volume、variety和value。 volume,資料量與日俱增,在於智慧手機、Internet和感知器等的使用。 variety,大資料的資料格式,音訊、視訊、影象等。 value,資料近乎實時的產生以使得有用資
java 壓縮和解壓lzo檔案
1、依賴 <dependency> <groupId>org.anarres.lzo</groupId> <artifactId>lzo-core&
tar gzip biz2 的使用,解壓tar.gz檔案,執行.sh指令碼
bzip2的簡單使用方法和gzip一樣:壓縮不用引數,解壓引數-d gzip的使用: gzip 壓縮的時候不用引數,直接使用就好了 gzip file -v 可以使用-v引數來檢視壓縮率 gzip -v file注意:用gzip壓縮的檔案,可以在windows下用winRar
過濾器(Filter)應用:全站壓縮----Gzip網頁壓縮輸出
Filter應用-7 實現壓縮的輸出流。 •現在的網路,流量就是錢。所以,如果能在很少的流量的情況下,檢視相同的資料內容,那何樂而不為呢? •實現方案: •使用者在呼叫response.getOutputStream()時讓獲取自己的輸出流對像, 我們將資訊寫到事先準
C++壓縮解壓之snappy
To use Snappy from your own C++ program, include the file "snappy.h" from your calling file, and link against the compiled library.There are many ways to c
Hadoop壓縮與解壓
1 壓縮 一般來說,計算機處理的資料都存在一些冗餘度,同時資料中間,尤其是相鄰資料間存在著相關性,所以可以通過一些有別於原始編碼的特殊編碼方式來儲存資料, 使資料佔用的儲存空間比較小,這個過程一般叫壓縮。和壓縮對應的概念是解壓縮,就是將被壓縮的資料從特殊編碼方式
Linux 檔案的解壓和壓縮 —— gzip命令
一、gzip 命令的用途 gzip 是在 Linux 系統中經常使用的一個對檔案進行壓縮和解壓縮的命令 減少檔案大小有兩個明顯的好處,一是可以減少儲存空間,二是通過網路傳輸檔案時,可以減少傳輸的時間
hadoop 壓縮解壓
先放程式碼package com.huawei.hdfs.compress; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.IOUtils; import org.apach
Hadoop壓縮的圖文教程
近期由於Hadoop叢集機器硬碟資源緊張,有需求讓把 Hadoop 叢集上的歷史資料進行下壓縮,開始從網上查詢的都是關於各種壓縮機制的對比,很少有關於怎麼壓縮的教程(我沒找到。。),再此特記錄下本次壓縮的過程,方便以後查閱,利己利人。 本文涉及的所有 jar包、指令碼、native lib 見文
Snappy數據壓縮 配置到Hadoop
nbsp ould 安裝 官方文檔 toc ora automake java_home -o 依賴庫:yum -y install gcc+ gcc-c++ 官方文檔中提到編譯前提需要:gcc c++, autoconf, automake, libtool, Java
Hadoop支援Lzo壓縮
1.前置要求 編譯安裝好hadoop java & maven 安裝配置好 安裝前置庫 yum -y install lzo-devel zlib-devel gcc autoconf automake libtool 2.安裝