1

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

4

1 回答 1

8

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

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

如果您想从整个表中删除一个列族,您可以通过 HBaseAdmin 使用名称不恰当的deleteColumn方法(或带有 的 shell alter 'table_name', {NAME => 'family_name', METHOD => 'delete'})来执行此操作 - 在这种情况下,需要首先禁用该表,以便 HBase 不会遭受停机时间,具体表会

于 2013-09-13T15:15:50.413 回答