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