java—如何删除hbase表中所有行的列

3z6pesqy  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(414)

我们在一个有3列的hbase表中有10万行(都在同一列族中)。我需要删除所有行的第三列吗?

zphenhs4

zphenhs41#

我给你看了两种可能的方法。重新考虑“第三列”要求,并使用批量删除或移动到服务器端处理。我建议在进一步讨论之前再考虑一下你的要求。以下是一些关键要点:
你肯定要用 Delete 如果您试图保持在客户端api范围内,则请求。
如果您需要删除大量的特定列条目,您可以使用的唯一方法(就我目前所知)是批量删除。
在hbase中,对于像delete这样的突变,没有明确的“第三列”定义。只能指定限定符。你真的需要'third'吗?或者你知道你的专栏有什么限定词吗?
如果您真的需要某些特定的“第三方”删除条件,那么您需要协处理器,特别是端点。这是基本的解释。
这里有一个问题应该对您有所帮助,特别是对bulkdeleteprotocol的引用。它允许您根据 Scan 请求,所以你可能需要这样的东西,但再次与特定的过滤。
实现“第三列”过滤 Scan 你需要像columnpaginationfilter这样的东西。
所以你的任务不是那么琐碎,但我建议你用 BulkDeleteProtocol 基于 Scan 过滤打开时 ColumnPaginationFilter . 必须警告的是,我没有使用这个组合,尽管它的组件是众所周知的。

相关问题