導航:首頁 > 數據處理 > hbase數據怎麼壓縮

hbase數據怎麼壓縮

發布時間:2023-05-23 20:04:26

1. Hbase分區

HBase中,表會被劃分為1…n個Region,被託管在RegionServer中。Region二個重要的屬性:StartKey與 EndKey表示這個Region維護的rowKey范圍,當我們要讀/寫數據時,如果rowKey落在某個差大稿start-end key范圍內,那麼就會定位到目標region並且讀/寫到相關的數據。
默認地,當我們只是通過HBaseAdmin指定TableDescriptor來創建一張表時,start-end key無邊界,region的size越來越大時,大到 一定的閥值,就會找虛孝到一個midKey將region一分為二,成為2個region,這個過 程稱為分裂(region-split).而midKey則為這二個region的臨界

1.總是往最大start-key的region寫記錄,之前分裂出來的region不會再被寫數據,它們都處於半滿狀態
2.split是比較耗時耗資源

合理設計rowkey 能讓各個region 的並發請求 平均分配(趨於均勻) 使IO 效率達到最高
(預分區需要將hbase.hregion.max.filesize設置一個較大的值,默認是10G(0.94.3 ) 也就是說單個region 默認大小是10G)

shell
指明分割點

HexStringSplit指明分割策略,-c 10指明要分割的區域數量,-f指明表中的列族,用「:」分割。

根據文件創建分區並壓縮

COMPRESSION 默認值NONE,即不使用壓縮
建議採用SNAPPY壓縮

官方文檔給出的建表提示

TTL 默認是 2147483647 即:Integer.MAX_VALUE 值 大概是68年,這個參數是說明該列族數據的 存活時間,單位是s,超過存過時間的數據將在表中不在顯示,待下次major compact的時候再徹底刪除數據,
若設置MIN_VERSIONS=>』0』 TTL時間戳過期後,將全部徹底刪除該family 下所有的數據,如果MIN_VERSIONS 不等於0 那將保留最新的MIN_VERSIONS個版本的數據,其它的全部刪除,比如MIN_VERSIONS=>』1』 屆時將保留一個最新版本的數仿激據,其它版本的數據將不再保存。

VERSIONS 默認是3,這個參數的意思是數據保留三個 版本,如果數據隨時都在更新,或老版本的數據無價值,那將此參數設為1 能節約2/3的空間
RegionSplitter提供三個用於預分割的工具:HexStringSplit、SplitAlgorithm、UniformSplit。
HexStringSplit和UniformSplit是兩個預定義的靜態類,可以直接使用;而SplitAlgorithm是一個介面,需要開發人員自己實現相應的分隔策略。如果是以十六進制字元串作為行鍵rowkey或者行鍵rowkey的前綴是十六進制字元串,用HexStringSplit就比較合適;UniformSplit會把行鍵均勻地分割多個部分,如果行將rowkey是隨機的位元組數組,用UniformSplit就比較合適;或者開發者根據需要實現分割策略。

原文: https://blog.csdn.net/Nougats/article/details/72723172

閱讀全文

與hbase數據怎麼壓縮相關的資料

熱點內容
微信有未讀信息怎麼生成 瀏覽:144
神魔大陸手游怎麼交易 瀏覽:792
產品不被客戶認可怎麼辦 瀏覽:517
代理商如何銷售活動 瀏覽:636
佛山光伏批發市場在哪裡 瀏覽:698
產品質量不承認怎麼辦 瀏覽:302
哪些旅行軟體不泄露個人信息 瀏覽:446
電商產品如何做規劃 瀏覽:935
如何做好提問交易計劃 瀏覽:878
4月份最後一個交易日是多少號 瀏覽:46
游資有哪些交易情緒 瀏覽:590
菜市場不讓商戶的貨車進來怎麼辦 瀏覽:184
拼多多的產品如何投訴 瀏覽:152
外匯期貨交易一手可以賺多少 瀏覽:469
茶葉應用於哪些產品 瀏覽:643
期貨產品什麼時間開始的 瀏覽:211
和平精英如何提倡計量技術 瀏覽:432
麥吉麗代理費什麼時候能退 瀏覽:726
如何把自啟動程序變為服務 瀏覽:31
比起不回信息收到在忙哪個更傷心 瀏覽:659