如何清除 hbase 中的表?

2022-08-30 23:50:55

我想清空hbase中的表...例如: .是否有任何命令或函数可以清空表而不删除它...user

我的表结构是:

$mutations = array(
                new Mutation( array(
                    'column' => 'username:1',
                    'value' =>$name
                ) ),
                new Mutation( array(
                    'column' => 'email:1',
                    'value' =>$email
                ) )
        );          
$hbase->mutateRow("user",$key,$mutations);

有人可以帮助我吗?


答案 1

如果在 HBase shell 中执行此命令:

 > truncate 'yourTableName'

然后HBase将为“yourTableName”执行以下操作:

 > disable 'yourTableName'
 > drop 'yourTableName'
 > create 'yourTableName', 'f1', 'f2', 'f3'

答案 2

另一个有效的选择是实际删除表,然后使用与上一个表相同的所有设置重建另一个表。

我不知道如何在php中做到这一点,但我知道如何在Java中做到这一点。php中的相应操作应该是相似的,你只需要检查API的样子。

在 Java 中使用 HBase 0.90.4:

// Remember the "schema" of your table
HBaseAdmin admin = new HBaseAdmin(yourConfiguration);
HTableDescriptor td = admin.getTableDescriptor(Bytes.toBytes("yourTableName");

// Delete your table
admin.disableTable("yourTableName");
admin.deleteTable("yourTableName");

// Recreate your talbe
admin.createTable(td);

推荐