【问题标题】:Delete range of rows using a prefix key使用前缀键删除行范围
【发布时间】:2016-11-25 02:27:11
【问题描述】:

我正在使用包 'org.apache.hadoop.hbase.client' 进行数据流来管理 Google 的 BigTable 数据。

删除一行示例:

key = "PROV|CLI|800|20160714|8|30302.30301|ES";
byte[] byteKey = Bytes.toBytes(key);
Delete delete = new Delete(byteKey);

这很好用,但我需要一种方法来删除所有以它们的键 'PROV|CLI|800|' 开头的行

有没有办法做到这一点?

【问题讨论】:

    标签: java google-cloud-dataflow google-cloud-bigtable


    【解决方案1】:

    Cloud Bigtable 有一个功能可以通过AbstractBigtableAdmin. deleteRowRangeByPrefix(byte[]) 高效地执行此操作:

    Connection c = ...;
    AbstractBigtableAdmin admin = (AbstractBigtableAdmin) c.getAdmin();
    admin.deleteRowRangeByPrefix(Bytes.toBytes("PROV|CLI|800|"));
    admin.close();
    

    【讨论】:

    • 有没有使用包“org.apache.hadoop.hbase.client”?
    • 您可以使用 PrefixFilter 创建扫描,遍历结果并使用 table.batch(List) 删除它们
    猜你喜欢
    • 1970-01-01
    • 2017-08-15
    • 2023-03-22
    • 2011-10-23
    • 1970-01-01
    • 2013-11-03
    • 2013-06-10
    • 2012-06-12
    • 1970-01-01
    相关资源
    最近更新 更多