我正在学习 HBase shell 命令,并被 drop 和 delete 表弄糊涂了。
任何人都可以评论删除表和删除表之间的区别吗?
谢谢。
没有区别。我推测这两个名字的原因是因为首先创建了HBaseAdmin,并且它使用了“删除”。然后当创建外壳时,人们意识到这drop table tablename
是摆脱表的标准方法。*
但是我通过查看HBase Admin 源文件 admin.rb确认(不管对其来源的推测)它们是相同的:
# 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
*但准确地说......它们不是在 HBase shell 中drop table tablename
而是drop 'tablename'
在 HBase shell 中。
只是为了一些补充。另一种是通过 hbase shell 或 java api 删除表。首先你必须禁用表然后删除。否则无法删除表。