可以通过 HBase shell 或 Admin.majorCompact 请求主要压缩。
注意:主要压缩不进行区域合并。有关压缩的更多信息,请参见压缩。
Merge 是一个可以合并同一个表中相邻区域的实用程序(请参阅 org.apache.hadoop.hbase.util.Merge)。
$ bin/hbase org.apache.hadoop.hbase.util.Merge <tablename> <region1> <region2>
如果您觉得自己拥有太多区域并希望对它们进行整合,那么 Merge 就是您需要的实用程序。必须在群集关闭时运行合并。有关用法示例,请参阅 O'Reilly HBase Book 。
您需要将 3 个参数传递给此应用程序。第一个是表名。第二个是要合并的第一个区域的完全限定名称,例如“table_name,\ x0A,1342956111995.7cef47f192318ba7ccc75b1bbf27a82b。”。第三个是要合并的第二个区域的完全限定名称。
此外,还有一个 Ruby 脚本附加到 HBASE-1621 以进行区域合并。