spark动态分区参数spark.sql.sources.partitionOverwriteMode

Attention:这个搞不好整个表数据就干没了

spark.sql.sources.partitionOverwriteMode

动态分区的参数

static 就是 覆盖整个表(无论动态分区是否匹配),会删除表中所有现有分区,仅保留本次写入的分区。

dynamic 就是 仅覆盖本次写入中包含的分区,未被写入的现有分区会保留


使用sparksql insert overwrite插入hive分区导致所有分区被删

简单记录一下,防止踩坑。

hive.exec.dynamic.partition=true

hive.exec.dynamic.partition.mode=nonstrict

开启这两个参数,进行动态插入分区表:

insert overwrite table tablename partition(part_col)

1.这种方式在2.3之前,只会修改查询结果的分区,没什么问题。

2.但是如果在2.3之后,spark会增加一个spark.sql.sources.partitionOverwriteMode参数,这个参数有两个值,默认static,可修改为dynamic。问题就出在这里,如果不更改这个参数,使用默认的static,在动态插入时,不管插入的分区是否存在,都会导致所有的分区被覆盖,数据无法找回。

3.可以在hive中使用show create table查看spark.sql.create.version来确认表的版本。

相关推荐
55873 生态系统1 小时前
1817册典籍如何被AI读取?——“可复核文明知识库“的体系化构建实践
大数据·人工智能·55873全域文明生态体系·55873操作系统·全域文明生态系统·55873数字资产
Regentsoft丽晶软件1 小时前
服装智能配补调系统哪家强?售罄率提升背后的算法逻辑分析
大数据·数据库架构·零售
临床数据科学和人工智能兴趣组1 小时前
字符串转换为句子风格
大数据·数据库·人工智能·r语言·r语言-4.2.1
YH_Analytics2 小时前
2026 年二氧化碳气体回收设备产业链分析报告市场洞察
大数据·人工智能
橙色云-智橙协同研发2 小时前
电子高科技行业:机械与电子(MCAD & ECAD)如何协同?
大数据·运维·服务器·人工智能·安全
派小心.2 小时前
A/B实验分层随机种子的稳定性验证
大数据·服务器·前端·数据分析
shujudang2 小时前
AI会员运营的数据实践:人群预测、等级策略与效果分析
大数据·人工智能·数据挖掘·数据分析
zoutao982 小时前
DeepSeek 智能效果实测与能力边界解析
大数据·运维·人工智能
MerryLuna2 小时前
专业的EUDR机构
大数据·人工智能·python
wespaul2 小时前
VeapAI 自然语言操作实战|第 04 篇:系统数据加工——把系统自身的元数据吃成知识
java·大数据·运维·数据库·人工智能