前言
总结Spark覆盖写Hive分区表,如何只覆盖部分对应分区
版本
要求Spark版本2.3以上,亲测2.2无效
配置
1 | config("spark.sql.sources.partitionOverwriteMode","dynamic") |
注意
1、saveAsTable方法无效,会全表覆盖写,需要用insertInto,详情见代码
2、insertInto需要主要DataFrame列的顺序要和Hive表里的顺序一致,不然会数据错误!
代码
已上传github
1 | package com.dkl.blog.spark.hive |
结果
1 | +---+----+---+----+ |