要求Spark版本2.3以上,亲测2.2无效
配置 config("spark.sql.sources.partitionOverwriteMode","dynamic") 注意 1、saveAsTable方法无效,会全表覆盖写,需要用insertInto,详情见代码 2、insertInto需要主要DataFrame列的顺序要和Hive表里的顺序一致,不然会数据错误!
package com.dkl.blog.spark.hive
import org.apache.spark.sql.SparkSession
/**
} 结果 +---+----+---+----+ | id|name|age|year| +---+----+---+----+ |002| 李四| 18|2017| |001| 张三| 21|2018| +---+----+---+----+
+---+----+---+----+ | id|name|age|year| +---+----+---+----+ |011| Sam| 21|2018| +---+----+---+----+