首页/数据/数仓建模速查/INSERT OVERWRITE 分区语义与并发
分层与规范64 条

INSERT OVERWRITE 分区语义与并发

INSERT OVERWRITE 指定分区时只覆盖该分区;不指定分区则整表覆盖,是高风险操作,脚本必须显式带分区条件。

数仓建模速查数据更新于 2026-10-12
指定分区仅覆盖该分区
不指定整表覆盖(危险)
多分区可一次覆盖多个
并发同分区并发写会冲突

安全写法

安全写法
INSERT OVERWRITE TABLE dws_trade_store_day PARTITION (dt='2026-10-12')
SELECT store_id, order_cnt, pay_amt
FROM tmp_trade_store_day;
覆盖分区前如果上游任务失败产出空数据,会把好数据覆盖成空,需要空写保护。

易错点

  • 漏写分区条件,整表被覆盖

数据来源与参考

  • Hive 官方文档:LanguageManual DML
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌