HBase:如何删除区域

时间:2011-06-20 06:24:31

标签: hbase region

由于法律问题,我需要从HBase中删除旧数据。

我找到了一种方法来使用我的标准拆分区域,并将旧数据移动到新区域,但有没有办法删除该区域?

任何其他想法如何实现目标?

3 个答案:

答案 0 :(得分:4)

尝试

delete '.META.', 'ROW_FROM_META_WITH_YOUR_TABLE'

如果您不确定要删除的行在“.META”上运行扫描。或将其值转储到文件中:

echo "scan '.META.'"| hbase shell &> dump.txt

然后找到你的行并将其删除。

由于这会让您的地区留下“漏洞”,请确保您运行hbase hbck PlatformData -repair来修复这些漏洞。

这是small java code snippet就是这样做,并从底层HDFS中删除文件。

答案 1 :(得分:2)

在较新版本(例如0.96)中,命令为:

deleteall 'hbase:meta', 'YOUR_ROW'

答案 2 :(得分:0)

可以通过删除表中存在的所有列系列来删除Hbase rowkeys。 如果hbase中没有针对rowkey的数据,则从hbase中删除密钥。这可以使用Hbase shell中的Alter命令完成。

虽然表中没有显示这些行键,但已删除的行键的区域出现在.META中。没有数据。