日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop SequnceFile.Writer 压缩模式及压缩库浅析

發(fā)布時間:2025/6/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop SequnceFile.Writer 压缩模式及压缩库浅析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

先說明SequnceFile的壓縮類型(Compression Type)分為三種NONE,RECORD,BLOCK,通過配置項io.seqfile.compression.type指定:

? ? ? ? ? ? NONE, Do not compress records ?即不壓縮

? ? ? ? ? ? RECORD, Compress values only, each separately. ? 每條記錄都對value進(jìn)行一次壓縮

? ? ? ? ? ? BLOCK, Compress sequences of records together in blocks. ? 塊壓縮,當(dāng)緩存的key和value字節(jié)大小達(dá)到指定的閾值,則進(jìn)行壓縮,閾值由配置項io.seqfile.compress.blocksize指定,默認(rèn)值為1000000字節(jié)


????RECORD,BLOCK使用的壓縮算法是由創(chuàng)建SequnceFile.Writer 時指定的CompressionOption決定的,?CompressionOption中CompressionCodec codec屬性即為壓縮編碼器, ?不指定時默認(rèn)為org.apache.hadoop.io.compress.DefaultCodec 對應(yīng)的底層壓縮庫為zlib, 除了DefaultCodec還有幾個其他的CompressionCodec:GzipCodec ?Lz4Codec ?SnappyCodec ? BZip2Codec 這里不做比較

????DefaultCodec在實現(xiàn)zlib壓縮的時候,可以指定使用libhadoop.so(hadoop 框架提供的native庫)或java.util.zip庫。下面了解下如何開啟hadoop native庫或java zip庫:


????SequnceFile 默認(rèn)使用的是org.apache.hadoop.io.compress.DefaultCodec 壓縮方式,使用的是Deflate的壓縮算法

????DefaultCodec在創(chuàng)建壓縮器時會執(zhí)行類ZlibFactory.getZlibCompressor(conf)方法,實現(xiàn)代碼片段:

????return?(isNativeZlibLoaded(conf))??new?ZlibCompressor(conf)?:new?BuiltInZlibDeflater(ZlibFactory.getCompressionLevel(conf).compressionLevel());

????當(dāng)加載本地Zlib庫時,使用的是ZlibCompressor壓縮器類,否則使用BuiltInZlibDeflater類,BuiltInZlibDeflater類是調(diào)用java的java.util.zip.Inflater類實現(xiàn);


????其中isNativeZlibLoaded是根據(jù)NativeCodeLoader類是否已經(jīng)加載hadoop native庫來判斷的,代碼如下:

//?Try?to?load?native?hadoop?library?and?set?fallback?flag?appropriatelyif(LOG.isDebugEnabled())?{LOG.debug("Trying?to?load?the?custom-built?native-hadoop?library...");}try?{System.loadLibrary("hadoop");LOG.debug("Loaded?the?native-hadoop?library");nativeCodeLoaded?=?true;}?catch?(Throwable?t)?{//?Ignore?failure?to?loadif(LOG.isDebugEnabled())?{LOG.debug("Failed?to?load?native-hadoop?with?error:?"?+?t);LOG.debug("java.library.path="?+System.getProperty("java.library.path"));}}if?(!nativeCodeLoaded)?{LOG.warn("Unable?to?load?native-hadoop?library?for?your?platform...?"?+"using?builtin-java?classes?where?applicable");}

????其中System.loadLibrary("hadoop"); 在linux上查找的就是libhadoop.so。

????總結(jié):當(dāng)無法加載本地的hadoop庫,hadoop會使用java.util.zip.Inflater類來對SequnceFile進(jìn)行壓縮;當(dāng)可以加載到本地hadoop庫,則使用本地的庫。


下面來比較實用native hadoop庫和不使用native hadoop的性能區(qū)別。


不使用native hadoop即在jvm運行參數(shù)java.library.path中不包含native庫的路徑:

java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

使用則在后面加上hadoop的native庫路徑:

java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib:$HADOOP_HOME/lib/native

虛擬機集群:

50w 數(shù)據(jù),sequnceFile壓縮模式為RECORD, key為隨機的10字節(jié),value為隨機200字節(jié):

? ? native lib disabled: ? ?32689ms ? ? ? ? after compression?114.07 MB?

? ? native lib enabled: ? 30625ms ? ? ? ?after compression?114.07 MB

50w 數(shù)據(jù),sequnceFile壓縮模式為BLOCK, key為隨機的10字節(jié),value為隨機200字節(jié):

? ? native lib?disabled: ? 11354ms ? ? ??after compression?101.17 MB

? ? native lib?enabled: ? ?10699ms?? ? ??after compression?101.17?MB

物理機集群:

50w 數(shù)據(jù),sequnceFile壓縮模式為RECORD, key為隨機的10字節(jié),value為隨機200字節(jié):

? ? native lib disabled: ? ?21953ms ? ? ? ? after compression?114.07 MB?

? ? native lib enabled: ? 24742ms ? ? ? ?after compression?114.07 MB


100w 數(shù)據(jù),sequnceFile壓縮模式為RECORD, key為隨機的10字節(jié),value為隨機200字節(jié):

? ? native lib disabled: ? ?48555ms ? ? ? ? after compression?228.14 MB

? ? native lib enabled: ? 45770ms ? ? ? ?after compression?228.14 MB

100w 數(shù)據(jù),sequnceFile壓縮模式為RECORD, key為隨機的10字節(jié),value為隨機200字節(jié), 設(shè)置zlib壓縮級別為BEST_SPEED:

? ? native lib disabled: ? ?44872ms ? ? ? ? after compression?228.14 MB

? ? native lib enabled: ?51582ms ? ? ? ?after compression?228.14 MB

100w 數(shù)據(jù),sequnceFile壓縮模式為BLOCK, key為隨機的10字節(jié),value為隨機200字節(jié), 設(shè)置zlib壓縮級別為BEST_SPEED:

? ? native lib disabled: ? ?14374ms ? ? ? ? after compression ?203.54 MB

? ? native lib enabled: ?14639ms ? ? ? ?after compression ??203.54 MB


100w 數(shù)據(jù),sequnceFile壓縮模式為BLOCK, key為隨機的10字節(jié),value為隨機200字節(jié), 設(shè)置zlib壓縮級別為DEFAULT_COMPRESSION:

? ? native lib disabled: ? ?15397ms ? ? ? ? after compression ?203.54 MB

? ? native lib enabled: ?13669ms ? ? ? ?after compression ??203.54 MB

分析測試結(jié)果,總結(jié)如下:

當(dāng)在不同的壓縮模式,或不同的數(shù)據(jù)量,以及不同的zlib壓縮級別時,使用hadoop native庫壓縮和使用java zip庫之間沒有太大差別

后續(xù)再嘗試其他的native壓縮編碼方式: GzipCodec ?Lz4Codec ?SnappyCodec ? BZip2Codec?




轉(zhuǎn)載于:https://my.oschina.net/shipley/blog/498712

總結(jié)

以上是生活随笔為你收集整理的Hadoop SequnceFile.Writer 压缩模式及压缩库浅析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品福利在线 | 日韩国产一区二区三区 | 国产精品一区二区在线免费观看 | 欧美性猛片aaaaaaa做受 | 毛片看 | 亚洲第一免费网站 | 91精品国产免费 | 欧美色视 | aⅴ天堂网 | 久久av高潮av无码av喷吹 | 岛国免费视频 | 久久久久亚洲av成人网人人网站 | 嫩草影院在线视频 | 91日韩中文字幕 | 国产第一精品 | 欧美视频成人 | 亚洲天堂视频在线播放 | 中国老熟妇自拍hd发布 | 17c在线观看 | 国产又爽又猛又粗的视频a片 | 免费三级网 | 亚洲性图一区二区三区 | 日本天堂在线观看 | 深夜国产视频 | 国产精品羞羞答答在线 | 国产精品无码一本二本三本色 | 在线免费观看日韩 | 日韩欧美三区 | 国产福利一区二区三区在线观看 | av一本在线 | 日韩系列在线 | 欧美日韩123 | 一区二区三区小视频 | 久综合 | 国产精品久久国产精麻豆96堂 | 热久久免费| 开心激情综合网 | 欧美在线视频免费观看 | 婷婷激情网站 | 成人a视频在线观看 | 成人免费黄色网址 | 正在播放超嫩在线播放 | 午夜免费毛片 | 欧美成人三级在线播放 | 欧美日韩国产第一页 | 一级黄色片一级黄色片 | 国产在线免费视频 | 日韩欧美在线观看免费 | 国产精品99在线观看 | 丰满少妇乱子伦精品看片 | 青青草超碰在线 | 色婷婷av一区二区三区四区 | 涩涩屋视频在线观看 | 一卡二卡三卡四卡五卡 | 爱如潮水3免费观看日本高清 | 精品一区二区av | 国产乱来| 亚洲午夜精品久久久 | 亚洲精品在线观看视频 | 解开乳罩喂领导吃奶 | 日本吃奶摸下激烈网站动漫 | 亚洲宅男天堂 | 亚洲大胆视频 | jul023被夫上司连续侵犯 | 成人在线观看小视频 | 欧美色图日韩 | 国产猛男猛女超爽免费视频 | 乱亲女h秽乱长久久久 | 日韩福利一区二区三区 | 一区二区三区免费看视频 | www久久久com| 美女扒开屁股让男人捅 | 在线中文字幕网站 | 91午夜免费视频 | 国产一区二区三区视频在线观看 | 最新色站 | 97自拍偷拍视频 | 一级免费黄色 | www.黄色 | 久久东京 | 天堂а√在线最新版中文在线 | 国产区免费观看 | 日日舔夜夜摸 | 浮力影院草草 | 懂色一区二区三区 | 黄色av观看 | 亚洲vs天堂 | 欧美射图| 韩日一区二区 | 日本大奶视频 | 欧美日韩www | 欧美xxxx黑人xyx性爽 | 鸭子av| 国内精久久久久久久久久人 | 日日夜夜干 | 特级丰满少妇一级aaaa爱毛片 | 欧美一区二区三区在线观看 | 一区二区三区国产精品 | 一区二区成人av |