HBase工具 檢視解析HFile

2021-09-01 14:01:50 字數 866 閱讀 4067

檢視hfile是hbase本身自帶的乙個很實用的工具

使用也很簡單:

$ $/bin/hbase org.apache.hadoop.hbase.io.hfile.hfile

usage: hfile [-a] [-b] [-e] [-f ] [-k] [-m] [-p] [-r ] [-v]

-a,--checkfamily enable family check

-b,--printblocks print block index meta data

-e,--printkey print keys

-f,--file file to scan. pass full-path; e.g.

hdfs://a:9000/hbase/.meta./12/34

-k,--checkrow enable row order check; looks for out-of-order keys

-m,--printmeta print meta data of file

-p,--printkv print key/value pairs

-r,--region region to scan. pass region name; e.g. '.meta.,,1'

-v,--verbose verbose output; emits file and meta data delimiters

工作中用到過該工具的幾個場景:

1.測試或應用中,發現資料正確性有誤,可以使用該工具,看看hfile中的真實資料

2.業務反映scan某錶沒反應,直到超時,服務端日誌中無任何異常,後來直接分析hfile,發現使用者設定了ttl,所有資料都已經過期了,所以scan變成了全表掃瞄了,orz。。。

Hbase原始碼分析3 從Put到HFile

hbase插入資料的過程大致是 客戶端提交請求給region server 這中間會有作一些快取 region server接收到請求,判斷其實put請求,將其put到memstore 每次memstore的操作,都會檢查memstore是否操作乙個閾值,如果超過,就開始執行flush 這個flus...

Hbase原始碼分析3 從Put到HFile

hbase插入資料的過程大致是 客戶端提交請求給region server 這中間會有作一些快取 region server接收到請求,判斷其實put請求,將其put到memstore 每次memstore的操作,都會檢查memstore是否操作乙個閾值,如果超過,就開始執行flush 這個flus...

Hbase原始碼分析3 從Put到HFile

hbase插入資料的過程大致是 客戶端提交請求給region server 這中間會有作一些快取 region server接收到請求,判斷其實put請求,將其put到memstore 每次memstore的操作,都會檢查memstore是否操作乙個閾值,如果超過,就開始執行flush 這個flus...