Java 如何从hbase表中删除列族及其存储文件,并保持该表处于启用状态?
hbase类的java方法从指定的hbase表中删除指定的列族。(尽管名称不同,该方法删除的是族,而不是列视图) 更改表的架构,但不会从文件系统中删除列族的存储文件。我观察到HBase 1.2.3/1.0.3在独立模式和伪分布式模式下的这种效果。hbase-site.xml配置文件中的联机架构更新属性已打开:Java 如何从hbase表中删除列族及其存储文件,并保持该表处于启用状态?,java,hbase,Java,Hbase,hbase类的java方法从指定的hbase表中删除指定的列族。(尽管名称不同,该方法删除的是族,而不是列视图) 更改表的架构,但不会从文件系统中删除列族的存储文件。我观察到HBase 1.2.3/1.0.3在独立模式和伪分布式模式下的这种效果。hbase-site.xml配置文件中的联机架构更新属性已打开: <property> <name>hbase.online.schema.update.enable</name> <val
<property>
<name>hbase.online.schema.update.enable</name>
<value>true</value>
</property>
但这是不合适的,因为该表应该可以永久读取和写入。因此,问题是:
admin.deleteColumn(tableName,familyByteName)代码>首先,然后通过HDFS Java API删除存储文件?
是否可以从hbase表中删除列族,删除族的存储文件,并保持该表处于启用状态?
PS:这里有一个类似的链接
<property>
<name>hbase.online.schema.update.enable</name>
<value>true</value>
</property>
Admin admin = connection.getAdmin();
admin.disableTable(tableName);
admin.deleteColumn(tableName, familyByteName);
admin.enableTable(tableName);