我需要使用 SELECT 子句的输出在 hiveql 中创建一个外部表。每次运行 HiveQL 时,都应该删除并重新创建表。当我们删除一个外部表时,只有表结构被删除,而不是来自 HDFS 位置的数据文件。如何做到这一点?
问问题
2164 次
1 回答
2
Create Table As Select ( CTAS ) 有限制。其中之一是目标表不能是外部的。
您有以下选择:
创建一次外部表,然后 INSERT OVERWRITE
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) select_statement1 FROM from_statement;
使用托管表,则可以
DROP TABLE
,然后CREATE TABLE ... as SELECT
另请参阅有关skipTrash 和 auto.purge 属性的答案。
于 2018-10-12T12:43:10.283 回答