Hive- 我如何 "create table as select.." 使用来自原始 table 的分区?

Hive- how do I "create table as select.." with partitions from original table?

我需要从我们的配置单元 dlk 创建一个 "work table"。虽然我可以使用:

create table my_table as
select *
from dlk.big_table

很好,我在从原始 "big_table" 继承分区(属性 daymonthyear)或只是从这些属性创建新分区时遇到问题. 搜索网络并没有真正帮助我回答这个问题 - 所有 "tutorials" 或解决方案都处理 create as select 或创建分区,而不是两者。 这里有人可以帮忙吗?

不支持创建分区 table 为 select。您可以分两步完成:

  1. create table my_table like dlk.big_table; 这将创建具有相同架构的 table。

  2. 加载数据。

    set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict;

    insert overwrite table my_table partition (day, month, year) select * from dlk.big_table;