本篇內(nèi)容主要講解“hive的數(shù)據(jù)壓縮方法”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“hive的數(shù)據(jù)壓縮方法”吧!
在寧津等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,寧津網(wǎng)站建設(shè)費(fèi)用合理。
壓縮格式 | 工具 | 算法 | 文件擴(kuò)展名 | 是否可切分 |
DEFAULT | 無(wú) | DEFAULT | .deflate | 否 |
Gzip | gzip | DEFAULT | .gz | 否 |
bzip2 | bzip2 | bzip2 | .bz2 | 是 |
LZO | lzop | LZO | .lzo | 否 |
LZ4 | 無(wú) | LZ4 | .lz4 | 否 |
Snappy | 無(wú) | Snappy | .snappy | 否 |
為了支持多種壓縮/解壓縮算法,Hadoop引入了編碼/解碼器,如下表所示
壓縮格式 | 對(duì)應(yīng)的編碼/解碼器 |
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 |
Snappy | org.apache.hadoop.io.compress.SnappyCodec |
壓縮性能的比較
壓縮算法 | 原始文件大小 | 壓縮文件大小 | 壓縮速度 | 解壓速度 |
gzip | 8.3GB | 1.8GB | 17.5MB/s | 58MB/s |
bzip2 | 8.3GB | 1.1GB | 2.4MB/s | 9.5MB/s |
LZO | 8.3GB | 2.9GB | 49.3MB/s | 74.6MB/s |
http://google.github.io/snappy/
On a single core of a Core i7 processor in 64-bit mode, Snappy compresses at about 250 MB/sec or more and decompresses at about 500 MB/sec or more.
要在Hadoop中啟用壓縮,可以配置如下參數(shù)(mapred-site.xml文件中):
參數(shù) | 默認(rèn)值 | 階段 | 建議 |
io.compression.codecs (在core-site.xml中配置) | org.apache.hadoop.io.compress.DefaultCodec, org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.BZip2Codec, org.apache.hadoop.io.compress.Lz4Codec | 輸入壓縮 | Hadoop使用文件擴(kuò)展名判斷是否支持某種編解碼器 |
mapreduce.map.output.compress | false | mapper輸出 | 這個(gè)參數(shù)設(shè)為true啟用壓縮 |
mapreduce.map.output.compress.codec | org.apache.hadoop.io.compress.DefaultCodec | mapper輸出 | 使用LZO、LZ4或snappy編解碼器在此階段壓縮數(shù)據(jù) |
mapreduce.output.fileoutputformat.compress | false | reducer輸出 | 這個(gè)參數(shù)設(shè)為true啟用壓縮 |
mapreduce.output.fileoutputformat.compress.codec | org.apache.hadoop.io.compress. DefaultCodec | reducer輸出 | 使用標(biāo)準(zhǔn)工具或者編解碼器,如gzip和bzip2 |
mapreduce.output.fileoutputformat.compress.type | RECORD | reducer輸出 | SequenceFile輸出使用的壓縮類(lèi)型:NONE和BLOCK |
開(kāi)啟map輸出階段壓縮可以減少job中map和Reduce task間數(shù)據(jù)傳輸量。具體配置如下:
案例實(shí)操:
1)開(kāi)啟hive中間傳輸數(shù)據(jù)壓縮功能
hive (default)>set hive.exec.compress.intermediate=true;
2)開(kāi)啟mapreduce中map輸出壓縮功能
hive (default)>set mapreduce.map.output.compress=true;
3)設(shè)置mapreduce中map輸出數(shù)據(jù)的壓縮方式
hive (default)>set mapreduce.map.output.compress.codec= org.apache.hadoop.io.compress.SnappyCodec;
4)執(zhí)行查詢(xún)語(yǔ)句
select count(1) from score;
當(dāng)Hive將輸出寫(xiě)入到表中時(shí),輸出內(nèi)容同樣可以進(jìn)行壓縮。屬性hive.exec.compress.output控制著這個(gè)功能。用戶可能需要保持默認(rèn)設(shè)置文件中的默認(rèn)值false,這樣默認(rèn)的輸出就是非壓縮的純文本文件了。用戶可以通過(guò)在查詢(xún)語(yǔ)句或執(zhí)行腳本中設(shè)置這個(gè)值為true,來(lái)開(kāi)啟輸出結(jié)果壓縮功能。
案例實(shí)操:
1)開(kāi)啟hive最終輸出數(shù)據(jù)壓縮功能
hive (default)>set hive.exec.compress.output=true;
2)開(kāi)啟mapreduce最終輸出數(shù)據(jù)壓縮
hive (default)>set mapreduce.output.fileoutputformat.compress=true;
3)設(shè)置mapreduce最終數(shù)據(jù)輸出壓縮方式
hive (default)> set mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop.io.compress.SnappyCodec;
4)設(shè)置mapreduce最終數(shù)據(jù)輸出壓縮為塊壓縮
hive (default)>set mapreduce.output.fileoutputformat.compress.type=BLOCK;
5)測(cè)試一下輸出結(jié)果是否是壓縮文件
insert overwrite local directory '/export/servers/snappy' select * from score distribute by s_id sort by s_id desc;
到此,相信大家對(duì)“hive的數(shù)據(jù)壓縮方法”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞名稱(chēng):hive的數(shù)據(jù)壓縮方法
轉(zhuǎn)載源于:http://chinadenli.net/article10/gepedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、虛擬主機(jī)、網(wǎng)站排名、網(wǎng)頁(yè)設(shè)計(jì)公司、用戶體驗(yàn)、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)