如何通过java触发hbase的主要压缩

时间:2012-11-12 15:25:41

标签: java hbase

我想在我的服务器调度程序中添加一个任务来为hbase运行一个主要的压缩。 如何用java代码实现这个?

可以是单个区域,也可以是所有区域。 我可以对某些特定的表空间进行主要压缩吗?

1 个答案:

答案 0 :(得分: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

调用此代码后,您会在主界面上的“当前正在运行的任务”下找到“压缩存储... ”的注释>(默认端口60010)