hive> alter table my_table_name set location "hdfs://nameservice1/foo"; OK Time taken: 0.173 seconds hive> alter table my_table_name set location "hdfs://nameservice1/foo/bar"; Authorization failed:org.apache.hadoop.security.AccessControlException: action WRITE not permitted on path hdfs://nameservice1/foo for user hadoop_user. Use show grant to get more details. As seen in the above screen output, the alter table location is working exactly once on the external table and subsequently it is throwing an error. Please advice how I could get the alter table location statement to work.
3 Réponses :
J'ai compris l'erreur et j'ai réparé. La question était que lors de la création du tableau, j'ai défini son emplacement dans un chemin inexistant sur HDFS. Alors, quand j'essayais de modifier son emplacement, cela ne me permettait pas de le faire. P>
la résolution: J'ai d'abord créé le répertoire auquel la table a été actuellement signalée, puis a créé le répertoire auquel je voulais pointer le tableau. Ensuite, l'énoncé de localisation de la table Alter a fonctionné au besoin. p>
Je pense que le meilleur est d'utiliser un script pour vérifier que l'utilisation de puis d'appeler beeline code> avec un script externe p> p> P> P> >
sur la borne de ruche exécutée sous la commande
ALTER TABLE <table_name> SET LOCATION "hdfs://file_path_in_HDFS";