原文链接:https://blog.csdn.net/a904364908/article/details/100627061
案例:使用SparkSQL读取MySQL数据tinyint字段经处理后再写出到MySQL后发现,写出的数据全部是数值1,原因是SparkSQL内部将tinyint字段数据转换成boolean类型。
1、解决方案:
在JDBC的URL中加入参数:tinyInt1isBit=false
2、数据库连接代码:
val firstOrderDF: DataFrame = spark.read.format("jdbc")
.option("url", "jdbc:mysql://localhost:3307/test?tinyInt1isBit=false")
.option("driver", "com.mysql.jdbc.Driver")
.option("user", "xxx")
.option("password", "xxx")
.option("dbtable", "xxx")
.load()