2017-03-28 17 views
1

ノードが100 HBase、いくつかのテーブルA, B, Cには、000:099のプレフィックスがプリペンドされています。プレフィックスに基づいて分割されたテーブルが作成されるため、各テーブルには100の領域があります。HBaseリージョンサーバーのプログラムによる割り当て

私は接頭辞ですべての行を割り当てるしたいと思い

node-00
  • 000node-01から
  • 001
  • のように。

アイデアは私の典型的なシナリオはテーブルを処理することであるため、同じマシン上で同じプレフィックスを持つデータを保持するデータを変換し、テーブルBにそれを置くことである、そしてテーブルBを処理いくつかの変換と集約を何回か繰り返します。

私はdocsに指示が表示されず、進める方法についていくつかの提案が必要です。

答えて

1

必要な数の領域で新しいテーブルを作成できます。その後、コマンドを使用してテーブルにデータを入力する前に手動領域のバランスを取って、必要なサーバーに領域を配置します。それ

hbase(main):004:0> help move 

Here is some help for this command: 
Move a region. Optionally specify target regionserver else we choose one 
at random. NOTE: You pass the encoded region name, not the region name so 
this command is a little different to the others. The encoded region name 
is the hash suffix on region names: e.g. if the region name were 
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396. then 
the encoded region name portion is 527db22f95c8a9e0116f0cc13c680396 
A server name is its host, port plus startcode. For example: 
host187.example.com,60020,1289493121758 
Examples: 

    hbase> move 'ENCODED_REGIONNAME' 
    hbase> move 'ENCODED_REGIONNAME', 'SERVER_NAME' 

それとも、メソッドmoveを参照してください、これを行うためにHBaseAdminを使用しようとすることができますのヘルプを参照してください。

関連する問題