hbase - HBase:有没有办法在从 hbase 硬删除行时停止创建墓碑标记?
问题描述
有没有办法在从 hbase 硬删除行时停止创建墓碑标记?
我们需要批量删除数百万行。目前我们遵循以下步骤顺序:
- 从 hbase 表中硬删除数据(使用 org.apache.hadoop.hbase.client.Delete API)
- 在受影响的表上运行主要压缩。
- 将新数据加载到表中。
由于我们必须执行重大压缩,因此目前我们被迫在非工作时间执行此活动。
有什么方法可以避免创建墓碑标记?
我们在stackoverflow上找到了与我们的问题相关的以下链接:
谢谢阿努伊
解决方案
正如 shay__ 所说,HFile 是不可变的,您不能硬删除记录。但是您不必在删除后立即进行重大压缩。添加具有相同 rowkey/cf/qualifier/value 和比删除时间戳更新的时间戳的行。您可以在空闲时间或需要时主要压缩您的桌子。
推荐阅读
- api - CKAN:如何使用 api 更新/创建资源的数据字典?
- php - File_get_contents():无法打开流:连接被拒绝
- python - 提取测试pyhon-selenium
- javascript - 粘性导航和滚动到顶部功能单独工作,但不能一起工作
- android - 使用 expo Audio 将音频文件保存在移动设备中
- javascript - 光标跳出自定义文本字段上的文本字段!如何解决这个问题?[Material-UI/TextField]
- node.js - AWS Lambda Node.js 在使用 http post 获取 JWT 令牌后写入表..我们可以在同一个 lambda 中做这两个吗
- jquery - Jquery从一组div中获取点击的div的值
- python - 实例化 Django 的用户模型
- java - 创建新文件时如何停止 Groovy 用单个正斜杠替换多个正斜杠