如何删除Hbase表中所有行的列

时间:2014-07-10 10:59:32

标签: java hadoop hbase delete-row

我们在hbase表中有100行,有3列(全部在同一列族中)。我需要删除所有行的第三列?

1 个答案:

答案 0 :(得分:0)

我看到了两种可能的方法。重新考虑第三栏'要求并使用批量删除或移动到服务器端处理。我建议在继续之前重新考虑您的要求。以下是应该有所帮助的关键点:

  • 如果您尝试保留客户端API范围,那么您肯定会使用Delete个请求。
  • 如果您需要删除大量特定列条目,您可以使用的唯一方法(就我目前所知)是bulk delete
  • 在HBase中没有明确定义第三列'对于像“删除”这样的突变。您只能指定限定符。你真的需要第三个'或者你知道你的专栏有什么限定词吗?
  • 如果你真的需要一些特定的第三方'删除条件,您需要协处理器,特别是端点。 Here is basic explanation
  • 这是question which should help you,特别是对BulkDeleteProtocol的引用。它允许您基于Scan请求进行删除,因此您可能需要like this,但需要进行特定过滤。
  • 实现第三栏'过滤Scan您需要ColumnPaginationFilter

因此,您的任务并非如此微不足道,但我建议您使用基于BulkDeleteProtocol的{​​{1}}并Scan进行过滤来查看端点的方向。必须警告我没有使用这种组合,尽管其组件众所周知。