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

标签 java hadoop hbase delete-row

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

最佳答案

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

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

所以你的任务不是那么微不足道,但我建议使用 BulkDeleteProtocol 查看端点的方向基于 Scan 过滤 ColumnPaginationFilter。必须警告我没有使用过这种组合,尽管它的组件是众所周知的。

关于java - 如何删除Hbase表中所有行的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674802/

相关文章:

hadoop - 计算 pig 列中单词的出现次数

web-services - HBase上的Web服务

java - 使用 Spring SAML 作为 IDP 而不是 SP

hadoop - 在hadoop中更新分布式缓存中的文件

java.lang.NumberFormatException : For input string: "100" while executing MapReduce 异常

node.js - NodeJS 无法捕获的异常

r - 如何将数据从SparkR插入到hadoop集群中的Hbase

java - 为什么我的 main 方法一直在运行?

java - 使用 Volley、PHP 和 json 从 Android 中的 MySQL 服务器数据库检索单个数据

java - 是否可以延迟 C++ 中 const 变量的初始化,例如 Java 的 "blank final"功能?