<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Hadoop存儲(chǔ)成本管理的具體方法

          共 2117字,需瀏覽 5分鐘

           ·

          2020-09-05 14:06

          Hadoop存儲(chǔ)成本管理的具體方法

          |0x00 數(shù)據(jù)壓縮

          數(shù)據(jù)壓縮是在以Hadoop為主要構(gòu)架的數(shù)據(jù)倉(cāng)庫(kù)中常見的數(shù)據(jù)處理方式,一方面適當(dāng)?shù)膲嚎s數(shù)據(jù),能夠有效的提高M(jìn)R計(jì)算任務(wù)時(shí)數(shù)據(jù)傳輸?shù)男?/strong>,另一方面由于HDFS自身的三備份策略,導(dǎo)致數(shù)據(jù)存在比較大的冗余,通過(guò)壓縮能夠降低存儲(chǔ)的成本。

          在進(jìn)行數(shù)據(jù)壓縮前,需要考慮如下幾方面的事情:

          1. 所采用的的壓縮算法是否支持文件的分片讀取,是否支持MR的并行讀?。?/p>

          2. 壓縮算法的I/O性能,是否能夠提高磁盤的I/O讀取效率;

          3. 壓縮算法的讀取性能,例如RCFile的讀取速度明顯快于寫入速度,更適合頻繁查詢的數(shù)據(jù)場(chǎng)景;

          4. 算法是否具備共同性,HDFS主要以Writable為序列化格式,只支持Java、Avro、Thtift等格式。

          目前Hadoop主要支持以下的數(shù)據(jù)類型:

          1. SequenceFile:SequenceFile是基于文件的以二進(jìn)制鍵值對(duì)形式存儲(chǔ)的數(shù)據(jù);

          1. 序列化格式:主要包括Facebook開發(fā)的Thrift框架、Hadoop創(chuàng)始人開發(fā)的Avro框架;

          2. 列式存儲(chǔ):以Google的Parquet格式和RCFile為主,彌補(bǔ)了HDFS系統(tǒng)查詢速度較低的缺陷,通過(guò)只返回相關(guān)的查詢列,以減少I/O消耗并提升查詢性能。

          目前Hadoop中常見的壓縮算法有:

          1. Snappy:Google開發(fā)的高速壓縮算法,不支持分片,需要與SequenceFile等容器一起使用;

          2. LZO:最常見的壓縮算法,壓縮速率與Snappy相近,支持分片,但需要建立索引;

          3. Gzip:Linux自帶的壓縮算法,壓縮速率是Snappy的2.5倍左右,但寫入相對(duì)較慢,同樣不支持分片;

          4. ?bzip2:壓縮性能更優(yōu)秀,需要花費(fèi)較長(zhǎng)的時(shí)間讀取,因?yàn)?strong>支持?jǐn)?shù)據(jù)分片,因而也經(jīng)常使用。

          以上四種壓縮算法的對(duì)比如下:

          |0x01 數(shù)據(jù)的生命周期管理

          數(shù)據(jù)倉(cāng)庫(kù)的存儲(chǔ)成本管理主要基于元數(shù)據(jù)平臺(tái)負(fù)責(zé)的生命周期管理,從數(shù)據(jù)的使用價(jià)值、查詢性能、更新頻率等方向綜合考慮,以最大程度上減少數(shù)據(jù)的存儲(chǔ)成本。目前常見的數(shù)據(jù)生命周期管理策略有如下幾種:

          1. 周期性刪除:絕大部分的數(shù)據(jù)都是以數(shù)據(jù)表的形式進(jìn)行存儲(chǔ),并且通過(guò)日期分區(qū)的方式加以區(qū)分,因而針對(duì)一些日期過(guò)早的存儲(chǔ)分區(qū),例如存儲(chǔ)時(shí)間超過(guò)一年,如果已經(jīng)沒(méi)有特別大的使用價(jià)值,建議設(shè)定定時(shí)刪除腳本以節(jié)約存儲(chǔ)效率;

          2. 徹底刪除:對(duì)于一些因?yàn)?strong>ETL過(guò)程或者是臨時(shí)查詢等形式的數(shù)據(jù)表,可以統(tǒng)一建立在Tmp或Test分區(qū)下,定期清空分區(qū)數(shù)據(jù);

          3. 冷熱數(shù)據(jù)區(qū)分:冷數(shù)據(jù)是指時(shí)間較早且不常使用的數(shù)據(jù),熱數(shù)據(jù)是指經(jīng)常查詢和使用的數(shù)據(jù),對(duì)于一些重要且不常使用的數(shù)據(jù),建議通過(guò)標(biāo)記冷分區(qū)的方式,采用極限壓縮算法進(jìn)行存儲(chǔ),盡管再次計(jì)算需要花費(fèi)比較長(zhǎng)的時(shí)間,但整體看下來(lái)依舊比較劃算;

          4. 永久保留:盡管數(shù)據(jù)是無(wú)限增長(zhǎng)的,但高業(yè)務(wù)價(jià)值的數(shù)據(jù)仍然需要永久保留,假設(shè)數(shù)據(jù)量非常大,可以設(shè)置冷熱數(shù)據(jù)分區(qū)的方式,將不常用的分區(qū)數(shù)據(jù)用極限壓縮算法進(jìn)行存儲(chǔ);

          5. 增量表合并全量表:對(duì)于特定業(yè)務(wù)的數(shù)據(jù),可以將保存每天新增數(shù)據(jù)的增量表,與歷史累積的全量表進(jìn)行合并,以節(jié)省存儲(chǔ)空間。

          |0x02 數(shù)據(jù)存儲(chǔ)專項(xiàng)優(yōu)化

          1. 設(shè)定數(shù)據(jù)評(píng)價(jià)等級(jí):一般數(shù)據(jù)可以通過(guò)業(yè)務(wù)重要程度計(jì)算關(guān)聯(lián)范圍兩個(gè)維度,設(shè)定多個(gè)評(píng)價(jià)等級(jí),例如最高等級(jí)為業(yè)務(wù)重要及關(guān)聯(lián)廣泛,最低等級(jí)為業(yè)務(wù)不重要且無(wú)關(guān)聯(lián);

          2. 數(shù)據(jù)表類型劃分:以阿里系的數(shù)據(jù)倉(cāng)庫(kù)體系為例,數(shù)據(jù)表可以劃分為事件型流水表(增量表)、事件型鏡像表(增量表)、維表、Merge全量表ETL臨時(shí)表、TT臨時(shí)數(shù)據(jù)普通全量表,根據(jù)表類型的不同,配合數(shù)據(jù)評(píng)價(jià)等級(jí),就能夠設(shè)定不同的歷史數(shù)據(jù)處理策略;

          3. 元數(shù)據(jù)平臺(tái)經(jīng)常性掃描:包括標(biāo)記沒(méi)有管理員的表、空表、最近長(zhǎng)時(shí)間未訪問(wèn)表數(shù)據(jù)無(wú)更新表、數(shù)據(jù)無(wú)配屬任務(wù)表數(shù)據(jù)量過(guò)大表等,根據(jù)系統(tǒng)自動(dòng)掃描的結(jié)果,通知對(duì)應(yīng)的數(shù)據(jù)負(fù)責(zé)人,提高數(shù)據(jù)管理的效率,同時(shí),元數(shù)據(jù)平臺(tái)根據(jù)平臺(tái)整理情況,可以定期生成存儲(chǔ)成本統(tǒng)計(jì)圖,提醒上級(jí)Boss目前的成本管理情況;

          4. 提倡個(gè)人數(shù)據(jù)管理:在數(shù)據(jù)地圖等平臺(tái)上,開發(fā)及產(chǎn)品創(chuàng)建或使用數(shù)據(jù)表,都需要申請(qǐng)對(duì)應(yīng)的權(quán)限,并根據(jù)自己創(chuàng)建的表,來(lái)自動(dòng)計(jì)算對(duì)應(yīng)數(shù)據(jù)的存儲(chǔ)成本,如果不是數(shù)據(jù)開發(fā)人員的,當(dāng)個(gè)人名下的數(shù)據(jù)存儲(chǔ)成本過(guò)高時(shí),需要及時(shí)的提醒刪除,能夠從人員管理的層面上極大的節(jié)省存儲(chǔ)成本。

          |0xFF?尾聲

          數(shù)倉(cāng)對(duì)上層數(shù)據(jù)應(yīng)用的支持主要體現(xiàn)在三個(gè)方面:業(yè)務(wù)監(jiān)控?cái)?shù)據(jù)(大盤數(shù)據(jù)洞察)、數(shù)據(jù)挖掘(用戶畫像、推薦等)數(shù)據(jù)分析(業(yè)務(wù)診斷、提升優(yōu)化等)。其中按支持的優(yōu)先級(jí)來(lái)分,首先就是業(yè)務(wù)監(jiān)控?cái)?shù)據(jù),然后是數(shù)據(jù)分析、再然后數(shù)據(jù)挖掘,這也是數(shù)據(jù)應(yīng)用由淺到深的遞進(jìn)。但由于數(shù)據(jù)倉(cāng)庫(kù)的建設(shè)依賴于元數(shù)據(jù)、調(diào)度等子系統(tǒng)的建設(shè)維護(hù),故應(yīng)做全局方案以避免重復(fù)開發(fā)與返工的情況。
          存儲(chǔ)成本管理也是如此,不做預(yù)先的規(guī)劃,治理成本往往很高。

          --end--


          掃描下方二維碼
          添加好友,備注【交流群
          拉你到學(xué)習(xí)路線和資源豐富的交流群

          瀏覽 45
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  AA久久a | 俺也去了大香蕉在线 | 99视频在线观看国产 | daxiangjiaojiujiu | 麻豆视频在线观看 |