3

サーバー スケジューラにタスクを追加して、hbase のメジャー コンパクションを実行したいと考えています。これをJavaコードで実装するにはどうすればよいですか?

単一のリージョンまたはすべてのリージョンのいずれかです。特定の表領域に対して主要な圧縮を行うことはできますか?

4

1 に答える 1

3
...
String tableName = "mytable";
Configuration conf = HBaseConfiguration.create();
conf.addResource(new Path("/home/user/hbase/conf/hbase-site.xml"));

HBaseAdmin admin = new HBaseAdmin(conf);
admin.majorCompact(tableName);
...

テーブル名が指定されている場合、そのテーブルのすべての領域で圧縮が呼び出されます。majorCompact javadocを参照してください。

このコードを呼び出すと、マスター UI (デフォルトではポート 60010)の「現在実行中のタスク」の下に「ストアを圧縮しています... 」というメモが表示されます。

于 2012-11-13T09:45:41.757 に答える