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来确认表的版本。

相关推荐
Elastic 中国社区官方博客5 小时前
Elasticsearch:快速近似 ES|QL - 第一部分
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
龙腾AI白云7 小时前
大模型在天文科研中的应用:天体数据分析
大数据·flask·逻辑回归·pygame
快乐非自愿8 小时前
抛弃传统AI:OpenClaw与Skill重构AI生产力,技术范式不可逆
大数据·人工智能
网络研究员8 小时前
Claude身份认证后还是被封?三条稳定防封策略
大数据·人工智能
TuCoder8 小时前
2026年了,景区制作智慧导地图有哪些选择?
大数据
2601_949925188 小时前
基于 OpenClaw 打造货代行业 AI 智能体架构实战
大数据·人工智能·架构·ai智能体
zhengyquan9 小时前
7000mAh 电池 + 独立 AI 键,小米 18 Pro 是堆料还是突破?
大数据·人工智能
geneculture9 小时前
意识的多学科定义:从16个视域,到融智学统合——基于“意+识”框架且区分“意识≠心智”系统研究
大数据·人工智能·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·意识=意+识·智=信息处理+选择用意
Ai173163915799 小时前
GB200 NVL72超节点深度解析:架构、生态与产业格局
大数据·服务器·人工智能·神经网络·机器学习·计算机视觉·架构
观远数据9 小时前
跨部门BI推广权限治理指南:如何避免数据泄露与权责混乱
大数据·人工智能·数据分析