删除并覆盖配置单元中的外部表

时间:2018-10-11 11:01:10

标签: hive hiveql

我需要使用SELECT子句的输出在hiveql中创建一个外部表。每次运行HiveQL时,都应删除并重新创建表。当我们删除外部表时,只会删除表结构,而不会删除HDFS位置中的数据文件。如何实现呢?

1 个答案:

答案 0 :(得分:1)

选择时创建表(CTAS)具有限制。其中之一是目标表不能是外部表。

您有以下选择:

  1. 一次创建外部表,然后插入覆盖

    插入覆盖表tablename1 [部分(partcol1 = val1,partcol2 = val2 ...)select_statement1 FROM from_statement;

  2. 使用托管表,则可以依次DROP TABLECREATE TABLE ... as SELECT

另请参阅有关skipTrash and auto.purge property的答案。