HBase-删除表和删除表之间的区别?

HBase-删除表和删除表之间的区别?,hbase,Hbase,我正在学习HBase shell命令,对drop和delete表感到困惑 有人能评论一下删除表和删除表之间的区别吗 谢谢。没有区别。我推测这两个名字的原因是因为它是第一个创建的,并且使用了“删除”。然后,在创建shell时,人们意识到drop table tablename是摆脱表的标准方法* 但我确认(无论对其起源的猜测如何),通过查看以下内容,它们是相同的: *但准确地说。。。它们并没有使用删除table tablename,而是在HBase shell中删除'tablename'。只是为了

我正在学习HBase shell命令,对drop和delete表感到困惑

有人能评论一下删除表和删除表之间的区别吗


谢谢。

没有区别。我推测这两个名字的原因是因为它是第一个创建的,并且使用了“删除”。然后,在创建shell时,人们意识到
drop table tablename
是摆脱表的标准方法*

但我确认(无论对其起源的猜测如何),通过查看以下内容,它们是相同的:


*但准确地说。。。它们并没有使用
删除table tablename
,而是
在HBase shell中删除'tablename'

只是为了添加一些内容。另一种方法是通过hbase外壳或java api删除表。首先必须禁用表,然后删除。否则无法删除表。

有一个基本区别:

  • delete用于删除表中的特定单元格,因此不能直接对表运行delete并期望将其删除

  • drop将删除整个表格而不引用单元格,而不首先禁用表格

从图中可以看出,hbase建议delete也应该与cell引用一起使用,drop只是简单地删除了表,并且在该命令之后没有表

# Drops a table
def drop(table_name)
  tableExists(table_name)
  raise ArgumentError, "Table #{table_name} is enabled. Disable it first.'" if enabled?(table_name)
  @admin.deleteTable(table_name)
end