【问题标题】:Deleting Columns in HBase删除 HBase 中的列
【发布时间】:2013-09-12 12:13:49
【问题描述】:

在 HBase 中,调用 DeleteColumn() 方法,即本质上对列族进行架构更改或删除列族会导致 HBase 集群停机?

【问题讨论】:

  • 你能解释一下你想要做什么吗?
  • 我想知道更改架构(从数据和架构中删除列)是否需要关闭集群。

标签: hadoop nosql hbase bigdata


【解决方案1】:

HBase 的 Delete mutation 上的 deleteColumn 方法从特定行中删除特定列,这不是架构更改,因为 HBase 不保留每行列的架构级知识(并且每行可以有不同数量和类型的列 - 将其视为一个稀疏的矩阵)。此对象上的 deleteFamily 也是如此。

不会因此导致集群停机(并且 HBase 不会真正删除数据,直到该区域的下一次主要压缩)

如果你想从整个表中删除一个列族,你可以通过 HBaseAdmin 使用名称不太恰当的 deleteColumn 方法(或带有 alter 'table_name', {NAME => 'family_name', METHOD => 'delete'} 的 shell)来实现 - 在这种情况下,需要禁用表首先,虽然 HBase 不会停机,但特定表会

【讨论】:

  • 谢谢阿农。它有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-31
相关资源
最近更新 更多