Changement de la Ruche emplacement de Base de données
Est-il un moyen de modifier l'emplacement de la base de données des points d'?
J'ai essayé l'une des manières suivantes:
alter database <my_db> set DBPROPERTIES('hive.warehouse.dir'='<new_hdfs_loc>');
alter database <my_db> set DBPROPERTIES('location'='<new_hdfs_loc>');
alter database <my_db> set location '<new_hdfs_loc>';
Les deux premières instructions alter juste de changer les propriétés d'une base, cependant la base de données des points encore à la même place; tandis que la troisième instruction alter, m'a donné la sémantique d'erreur.
Toute aide serait très appréciée.
Voulez-vous changer la ruche de l'entrepôt de répertoire?
OriginalL'auteur Harman | 2015-06-01
Vous devez vous connecter pour publier un commentaire.
Après quelques essais et erreurs, j'ai appris la Ruche ne prend pas en charge les deux conditions suivantes lors de l'exécution d'un ALTER sur une base de données.
Cependant, j'ai trouvé un lien vers une solution de contournement consiste direct DB mise à jour de la Ruche Metastore et tout simplement de déplacer le répertoire sur HDFS. http://gaganonthenet.com/2015/02/23/hive-change-location-for-database-or-schema/
Réponse précédente qui est Incorrect:
Les Tables créées avant l'alter vivra dans l'emplacement précédent. Seules les tables créées après l'alter sera mis dans le nouvel emplacement. Vous aurez à déplacer manuellement les répertoires sur HDFS et de mettre à jour le tableau des emplacements. Voir https://issues.apache.org/jira/browse/HIVE-1537 et https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-AlterTable/PartitionLocation pour plus de détails concernant la base de données et de la table.
Pour modifier l'emplacement d'une table, vous pouvez exécuter
ALTER TABLE <table> SET LOCATION "/path/to/new/location";
Cela peut aussi être appliquée au niveau de la partition.Ma compréhension de la RUCHE-1537, c'est que vous devrez mettre à jour la base de données de localisation et de déplacer manuellement les fichiers sur HDFS. Vous devrez également modifier l'emplacement de chacune des tables existantes à l'aide de la modifier. De nouveaux tableaux seront mis à la le nouvel emplacement de la base de données.
c'est ma question - comment mettre à jour la base de données de localisation ?
Voir ma réponse mis à jour, le précédent que j'ai eu était incorrect et ne fonctionnerait pas.
OriginalL'auteur brandon.bell