Dies sind wahrscheinlich die schnellste und einfachste Möglichkeit zum Kopieren/Verschieben von Tabellen von einer Datenbank zur anderen.
Zu Tischsource
Seit 0.14 zu bewegen, können Sie Anweisung folgende Tabelle in der gleichen Metastore zum anderen aus einer Datenbank zu verschieben:
alter table old_database.table_a rename to new_database.table_a;
Die obigen Ausführungen wird auch die Tabelle bewegen Daten auf hdfs, wenn table_a
eine verwaltete Tabelle ist.
Um Tabelle zu kopieren
Sie immer CREATE TABLE <new_db>.<new_table> AS SELECT * FROM <old_db>.<old_table>;
Anweisungen verwenden können.Aber ich glaube, diese alternative Methode zum Kopieren von Datenbank hdfs dfs -cp
und anschließend Erstellen von Tabellen mit LIKE
kann ein wenig schneller sein, wenn Ihre Tabellen sind riesig:
hdfs dfs -cp /user/hive/warehouse/<old_database>.db /user/hive/warehouse/<new_database>.db
Und dann in Hive:
CREATE DATABASE <new_database>;
CREATE TABLE <new_database>.<new_table> LIKE <old_database>.<old_table>;
Beachten Sie, dass 'show databases' die 80 Namen angibt, die benötigt werden, und dass die 80 Zeilen dann einfach in einem Werkzeug wie excel erstellt werden können. –
das ist gutes Zeug :) –
Nr. 1 funktionierte gut für mich, außer die Partitionen nicht kopieren. Irgendeine Möglichkeit, das zu erreichen? – vk1011