Hbase 查看 rowkey在哪个region中
? ? ?
?
? ? ? ? 首先我們先了解下 hbase:meta 表,hbase是指的namespace,meta是表名,這張表存儲的是整個集群的Region信息。
? ? ? ? hbase:meta表的一個rowkey對應一個region,rowkey設計如下:
? ? ? ? 表名,region的startRowkey,region創(chuàng)建時的時間戳,EcodedName
例:test:vt_article,66192017090716590_4149388609714192,1542770105784.5c44f752e1012fba9eacad769185b9dd
表名 : test:vt_article
開始rowkey :66192017090716590_4149388609714192
創(chuàng)建Region時間戳:1542770105784
EncodedName :5c44f752e1012fba9eacad769185b9dd = MD5(test:vt_article,66192017090716590_4149388609714192,1542770105784)
?
知道rowkey的設計方式,我們可以設計查詢如下
scan 'hbase:meta',{STARTROW=>'test:vt_article,00002012072410050_3471256520905766,9999999999999',REVERSED=>true,LIMIT=>1}這里的意思是:查找表 test:vt_article ,rowkey為00002012072410050_3471256520905766,所在的region
REVERSED=>true 意思是反向查找,這里如果是正向查找,會找到 rowkey 所在Region的下一個region,原因是hbase:meta表的rowkey里面存儲的是startrowkey,這種情況下我們找到rowkey所在region的下一個region。所以我們使用反向查找,可以找到我們所在的rowkey。
我們可以看下圖正向查找和反向的結果區(qū)別,很明顯可以看出反向查找的結果是正確的
hbase(main):007:0> scan 'hbase:meta',{STARTROW=>'test:vt_article,00002012072410050_3471256520905766,9999999999999',REVERSED=>true,LIMIT=>1} ROW COLUMN+CELL test:vt_article,,1538280376919.87d0e49c column=info:regioninfo, timestamp=1571810629396, value={ENCODED => 87d0e49c84ed5c95440606d2d015f018, NAME => 'zh_ams_ns:vt_wei84ed5c95440606d2d015f018. bo,,1538280376919.87d0e49c84ed5c95440606d2d015f018.', STARTKEY => '', ENDKEY => '004b2016100709180_4027872588656361'} test:vt_article,,1538280376919.87d0e49c column=info:seqnumDuringOpen, timestamp=1571810629396, value=\x00\x00\x00\x00\x00t\xBA\xB4 84ed5c95440606d2d015f018. test:vt_article,,1538280376919.87d0e49c column=info:server, timestamp=1571810629396, value=hostname1:16020 84ed5c95440606d2d015f018. test:vt_article,,1538280376919.87d0e49c column=info:serverstartcode, timestamp=1571810629396, value=1571810311419 84ed5c95440606d2d015f018. test:vt_article,,1538280376919.87d0e49c column=info:sn, timestamp=1571810628942, value=hostname1,16020,1571810311419 84ed5c95440606d2d015f018. test:vt_article,,1538280376919.87d0e49c column=info:state, timestamp=1571810629396, value=OPEN 84ed5c95440606d2d015f018. 1 row(s) Took 0.0204 seconds hbase(main):008:0> scan 'hbase:meta',{STARTROW=>'test:vt_article,00002012072410050_3471256520905766,9999999999999',LIMIT=>1} ROW COLUMN+CELL test:vt_article,004b2016100709180_40278 column=info:regioninfo, timestamp=1571808696621, value={ENCODED => cc232ffa5439b5b8d7b2a34be789802e, NAME => 'zh_ams_ns:vt_wei72588656361,1571222677329.cc232ffa5439b5b8 bo,004b2016100709180_4027872588656361,1571222677329.cc232ffa5439b5b8d7b2a34be789802e.', STARTKEY => '004b2016100709180_4027872d7b2a34be789802e. 588656361', ENDKEY => '00712017050420290_4103780394008107'} test:vt_article,004b2016100709180_40278 column=info:seqnumDuringOpen, timestamp=1571808696621, value=\x00\x00\x00\x00\x00u\xA8\x8C 72588656361,1571222677329.cc232ffa5439b5b8 d7b2a34be789802e. test:vt_article,004b2016100709180_40278 column=info:server, timestamp=1571808696621, value=hostname2:16020 72588656361,1571222677329.cc232ffa5439b5b8 d7b2a34be789802e. test:vt_article,004b2016100709180_40278 column=info:serverstartcode, timestamp=1571808696621, value=1571808447292 72588656361,1571222677329.cc232ffa5439b5b8 d7b2a34be789802e. test:vt_article,004b2016100709180_40278 column=info:sn, timestamp=1571808609135, value=hostname2,16020,1571808447292 72588656361,1571222677329.cc232ffa5439b5b8 d7b2a34be789802e. test:vt_article,004b2016100709180_40278 column=info:state, timestamp=1571808696621, value=OPEN 72588656361,1571222677329.cc232ffa5439b5b8 d7b2a34be789802e. 1 row(s) Took 0.0190 seconds?
總結
以上是生活随笔為你收集整理的Hbase 查看 rowkey在哪个region中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu16.04 + kineti
- 下一篇: windows驱动开发学习