HBase自定義拆分策略

2018-06-08 13:48 更新

自定義拆分策略

您可以使用自定義RegionSplitPolicy(HBase 0.94+)重寫默認(rèn)拆分策略。通常,自定義拆分策略應(yīng)該擴(kuò)展HBase的默認(rèn)拆分策略: IncreasingToUpperBoundRegionSplitPolicy。

該策略可以通過HBase配置或者也可以基于每個表在全局范圍內(nèi)進(jìn)行設(shè)置。

在hbase-site.xml中全局配置拆分策略:

<property>
  <name>hbase.regionserver.region.split.policy</name>
  <value>org.apache.hadoop.hbase.regionserver.IncreasingToUpperBoundRegionSplitPolicy</value>
</property>

使用Java API在表上配置拆分策略:

HTableDescriptor tableDesc = new HTableDescriptor("test");
tableDesc.setValue(HTableDescriptor.SPLIT_POLICY, ConstantSizeRegionSplitPolicy.class.getName());
tableDesc.addFamily(new HColumnDescriptor(Bytes.toBytes("cf1")));
admin.createTable(tableDesc);
----

使用HBase Shell在表上配置拆分策略:

hbase> create 'test', {METADATA => {'SPLIT_POLICY' => 'org.apache.hadoop.hbase.regionserver.ConstantSizeRegionSplitPolicy'}},{NAME => 'cf1'}

該策略可以通過使用的HBaseConfiguration或按表進(jìn)行全局設(shè)置:

HTableDescriptor myHtd = ...;
myHtd.setValue(HTableDescriptor.SPLIT_POLICY, MyCustomSplitPolicy.class.getName());

DisabledRegionSplitPolicy策略阻止手動區(qū)域拆分。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號