蜂巢-如何使用原始表中的分区“将表创建为select ..”?

时间:2019-05-06 07:36:21

标签: sql hadoop hive hiveql create-table

我需要根据我们的配置单元dlk创建一个“工作表”。虽然我可以使用:

create table my_table as
select *
from dlk.big_table

很好,我在继承原始“ big_table”的分区(属性daymonthyear)或仅从这些属性创建新分区时遇到问题。 搜索网络并没有真正帮助我回答这个问题-所有“教程”或解决方案要么处理create as select,要么创建分区,但从来没有两者都做。 这里有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

不支持以select创建分区表。您可以分两个步骤进行操作:

  1. create table my_table like dlk.big_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;