hbase删除标记和注意事项

àì夳堔傛蜴生んèń 2023-06-20 13:55 73阅读 0赞

hbase删除有三种标记

  • Delete标记: 删除特定列列指定的版本
  • DeleteFamily标记: 删除特定列族所有列
  • DeleteColumn标记: 删除特定列的所有版本

指定rowkey: 使用DeleteFamily标记

  • 不加时间戳表示删除指定rowkey的所有数据
  • 加时间戳表示删除指定rowkey时间戳版本小于或等于指定时间戳的所有数据

指定rowkey+columnFamily: 使用DeleteFamily标记

  • 不加时间戳表示删除指定列族的所有数据
  • 加了时间戳就表示删除指定列族时间戳版本小于或等于指定时间戳的所有数据

指定rowkey+columnFamily+column(addColumns): 使用DeleteColumn标记

  • 不加时间戳表示删除指定列所有版本的数据
  • 加时间戳表示删除指定列时间戳版本小于或等于指定时间戳的所有数据

指定rowkey+columnFamily+column(addColumn): 使用Delete标记 (只删除单个版本数据,生产环境尽量别用)

  • 不加时间戳表示删除指定列最新版本的数据
  • 加时间戳表示删除指定列指定时间戳版本的数据
  • 不推荐的原因是:操作不同(如flush前后操作产生的结果会不一样)结果可能不同
    在flush前如果有多个版本的数据,此时进行addColumn(不加时间戳)操作,会将最新版本的数据删除,然后老版本的数据会出现

    在flush后进行addColumn(不加时间戳)操作,会将最新版本的数据删除,而此时flush已将老版本的数据进行了删除,所有此时老版本的数据就不会出现了

发表评论

表情:
评论列表 (有 0 条评论,73人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL删除语句的特别注意事项

    引出问题 平时在开发中写sql语句时。自己总有一个习惯是使用别名,因为多表联合查询时如果不使用别名会很不方便。久而久之就形成在写SQL语句时使用别名的好习惯。然而某次在写一个

    相关 hbase 测试注意事项

    开发过程中,数次遇见hbase连接问题,通常情况下就是无任何异常,程序却被阻塞掉。 表面上看好像程序挂掉,不再运行,就是没有异常信息。 通常情况下原因是创建hbase连接

    相关 bug注意事项

    bug: 1.新增角色,在选择权限树的时候,如果不选择根目录下的第一个节点,保存后,权限树会打不开。 ![1607831-20190422143332250-33195