代码之家  ›  专栏  ›  技术社区  ›  JKC

配置单元-使用“select query”和“partition by”命令创建表语句

  •  1
  • JKC  · 技术社区  · 6 年前

    我想在Hive中创建一个分区表。我知道先用“创建表”来创建一个表结构。。。按“command”分区,然后使用“insert into table”命令将数据插入表中

    但我试图做的是将这两个命令组合成一个查询,如下所示,但它会抛出错误。

    CREATE TABLE test_extract AS
    SELECT 
    *
    FROM master_extract 
    PARTITION BY (year string
    ,month string)
    ;
    

    年和月都是master_extract表中的两个独立列。

    有什么办法可以达到这样的目的吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   leftjoin    6 年前

    不,这不可能,因为 Create Table As Select (CTAS) 有限制:

    The target table cannot be a partitioned table.
    The target table cannot be an external table.
    The target table cannot be a list bucketing table.
    

    可以单独创建表,然后插入覆盖表。