Я изучаю команды оболочки HBase и путаю таблицу drop и delete.HBase - разница между таблицей удаления и таблицей удаления?
Не могли бы вы прокомментировать разницу между удалением таблицы и удалением таблицы?
спасибо.
Я изучаю команды оболочки HBase и путаю таблицу drop и delete.HBase - разница между таблицей удаления и таблицей удаления?
Не могли бы вы прокомментировать разницу между удалением таблицы и удалением таблицы?
спасибо.
Нет никакой разницы. Я предполагаю, что причина для двух имен заключается в том, что сначала был создан HBaseAdmin, и он использовал «delete». Затем, когда оболочка была создана люди поняли, что drop table tablename
является стандартным способом, чтобы избавиться от таблицы *
Но я подтверждаю (независимо от спекуляций в ее происхождение), что они такие же, глядя на HBase Admin source file 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
* Но если быть точным ... они не идут с drop table tablename
, а скорее drop 'tablename'
в оболочке HBase.
Просто для некоторого добавления. В другом случае удалить таблицу через оболочку hbase или java api. сначала вам нужно отключить таблицу, а затем отбросить. В противном случае таблица не может быть удалена.
Существует принципиальная разница:
удаления используется для удаления конкретной ячейки в таблице и, следовательно, вы не можете запустить удалить на столе прямо и ожидать, что она будет удалена.
Капля упадет со всей таблицы без ссылки на ячейку, не отключая сначала таблицу.
Из изображения - вы можете увидеть, что HBase предположил, что удаление должно сопровождаться ссылкой на ячейку, а также и падение просто упал на стол, и нет ни одной таблицы после этой команды.
спасибо! Это очень полезно! –