web-dev-qa-db-ja.com

Hbaseカラムファミリーをどのように説明しますか?

HBaseシェルのテーブル内の列ファミリーを記述するコマンドを探しています。これを試すコマンドを取得できませんでした。

12
sahiljain

hbase Shellからdescribeコマンドを使用すると、各列ファミリーの情報を取得できます。現在、単一のファミリでフィルタリングする方法はありません。

例:

hbase(main):003:0> describe 'TABLE_NAME'
 'TABLE_NAME',
 {NAME => 'FAMILY_NAME',
  DATA_BLOCK_ENCODING => 'NONE',
  BLOOMFILTER => 'ROW',
  REPLICATION_ true                                          
  SCOPE => '0',
  VERSIONS => '1',
  COMPRESSION => 'NONE',
  MIN_VERSIONS => '0', TTL => '2147483647',
  KEEP_DELETED_CELLS => 'false',
  BLOCKSIZE => '65536',
  IN_MEMORY => 'false',
  BLOCKCACHE => 'true'
 }   
24
th30z

Hbase列ファミリー(列修飾子を表示できる)を記述するコマンドはありませんが、Hue Hbase Browserを使用しました。これには、列ファミリーの列修飾子を表示できるスマートビューがあります。

(列ファミリーのすべての列修飾子(describeなど)を表示することはできませんが、すべての列修飾子を含むレコードを表示できるため、CFを理解するのに役立ちます)(何もないよりも何かが優れています)。

詳細については、次のリンクを参照してください: http://gethue.com/the-web-ui-for-hbase-hbase-browser/

注:これは、列ファミリー( "p")の列修飾子を示すサンプルページのスクリーンショットですenter image description here

これが役に立たない場合は、Happy Scriptを記述して、特定の列ファミリーのすべての列修飾子を表示するか、これを使用できます [〜#〜] api [〜#〜]

getFamilyMap public NavigableMap getFamilyMap(byte [] family)

修飾子の値へのマップ。次の形式のマップを返します:Map

パラメーター:

家族-取得する列家族

戻り値:修飾子の値へのマップ

更新#1

最近、hbaseテーブルの列ファミリーと列修飾子を表示するJavaプログラムを作成しました。このプログラムは、全表スキャンを実行し、すべてのセルを分析して、修飾子名を取得することを忘れないでください。テーブルが大きい場合は非常に時間がかかります。

これが プログラムへのリンク です。

3
Anandkumar

私はこの答えを見つけて、それにいくつかの変更を加えました:

it list all column familly for each Cqualifier
  echo "scan 'yourTable', {'LIMIT' => 1} " | $HBASE_HOME/bin/hbase Shell | awk -F'=' '{print $2}' | awk -F ':' '{print $1}'|awk -F ',' '{print $1}'  
0