Hive 使用 CREATE TABLE AS SELECT 语句创建外部表时,可能会遇到 'SemanticException [Error 10070]: CREATE-TABLE-AS-SELECT cannot create external table' 错误。

这个错误是因为在使用 CREATE TABLE AS SELECT 语句时,指定了 EXTERNAL 关键字来创建外部表,但是外部表的存储位置并没有被明确指定。

解决方法:

  1. 在 CREATE TABLE AS SELECT 语句中指定外部表的存储位置,例如:
CREATE EXTERNAL TABLE my_external_table (
  column1 STRING,
  column2 INT
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION 'hdfs://your-hdfs-cluster/path/to/external/table';
  1. 去掉 EXTERNAL 关键字,创建普通的表,例如:
CREATE TABLE my_table (
  column1 STRING,
  column2 INT
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

确保在创建外部表时,正确指定外部表的存储位置。

Hive CREATE TABLE AS SELECT 错误:SemanticException [Error 10070] - 外部表存储位置未指定

原文地址: https://www.cveoy.top/t/topic/orJv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录