2017-01-06 62 views
1

我想用蜂巢动态分区覆盖分区表“page_view”:将配置单元动态分区更新所有分区?

INSERT OVERWRITE TABLE page_view PARTITION(date) 
    SELECT pvs.viewTime FROM page_view_stg pvs 

我的问题是:如果表“page_view_stg”只有数据“日期= 2017年1月1日” ,但dest表“page_view”有一个分区“date = 2017-01-02”。所以在运行这个查询之后,分区“date = 2017-01-02”是否会被丢弃?如果不是,我应该如何使用动态分区来处理这种情况?

由于

回答

0

查询与动态划分将覆盖只存在于源数据集的分区。在你的情况下,如果源表不包含这样的日期,partition "date=2017-01-02"将保持不变。如果您想删除它,最快的方法是执行alter table drop partition语句,因为这是元数据操作。您从目标表中选择源中不存在的分区,并使用shell生成drop语句。或者插入新表,删除旧目标,然后重命名。

相关问题