Hive 配置单元alter location语句不工作

Hive 配置单元alter location语句不工作,hive,Hive,如上面的屏幕输出所示,alter table位置在外部表上只工作一次,随后抛出一个错误。 请告诉我如何使alter table location语句工作。我找出了错误并修复了它。 问题是,在创建表的过程中,我将其位置设置为hdfs上不存在的路径。所以当我试图改变它的位置时,它不允许我这么做 决议: 我首先创建了表当前指向的目录,然后创建了表要指向的目录。然后ALTERTABLE location语句按要求工作 我认为最好是使用脚本来检查 hive> alter table my_table

如上面的屏幕输出所示,alter table位置在外部表上只工作一次,随后抛出一个错误。
请告诉我如何使alter table location语句工作。

我找出了错误并修复了它。 问题是,在创建表的过程中,我将其位置设置为hdfs上不存在的路径。所以当我试图改变它的位置时,它不允许我这么做

决议:
我首先创建了表当前指向的目录,然后创建了表要指向的目录。然后ALTERTABLE location语句按要求工作

我认为最好是使用脚本来检查

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.

然后在配置单元终端上使用外部脚本调用
beeline
,在下面运行命令

hdfs fs -ls ///
ALTER TABLE SET LOCATION”hdfs://file_path_in_HDFS";
HDFS:core-site.xml中fs.defaultFS属性的值 您也可以使用
S3
,确保引用了位置(

ALTER TABLE <table_name> SET LOCATION "hdfs://file_path_in_HDFS";