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