導航:首頁 > 數據處理 > 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數據怎麼壓縮相關的資料

熱點內容
呂家傳代理人有哪些 瀏覽:415
百果園小程序怎麼使用 瀏覽:704
哪些葯退出市場 瀏覽:888
如何讓郵箱信息不要在微信顯示 瀏覽:88
產品自用了怎麼做賬 瀏覽:267
程序員如何學習網路技術 瀏覽:872
高頻交易對期貨有什麼好處 瀏覽:272
信息500指數包含哪些股票 瀏覽:385
如何代理鞋品牌 瀏覽:551
資料庫s是什麼 瀏覽:818
大江技術學院學費多少2020 瀏覽:148
女程序員可轉什麼行業 瀏覽:570
納麗芬祛斑產品怎麼樣 瀏覽:374
元組在資料庫中什麼意思 瀏覽:737
某一程序閃退是什麼原因造成的 瀏覽:792
期貨日內短線交易怎麼走 瀏覽:200
閑魚怎麼購買手機程序 瀏覽:598
國與國之間的交易用什麼支付 瀏覽:93
數據線臟了怎麼修 瀏覽:835
代理的腳本地址是什麼 瀏覽:271