问题描述:sparkStreaming往数据库中写入数据,我手动给字段加上注释,但是等下个批次数据来临时候,字段注释就消失了,字段的数据类型也改变了。试了好几次都是这样。
原因:写数据库时候我用的是overwrite方式写入,overwrite是把数据删除,把表删除,然后重新建表,重新写入数据。所以注释会消失的,数据类型也会改变。append不会出现这个问题。
解决方法:很简单,设置个属性就行了。
writeNowDF.write.format("jdbc").option("url",url).option("driver",driver).option("dbtable",nowTable).option("user",user).option("password",password).option("truncate",true).mode("overwrite").save()
重点在于truncate这个属性设置为true就可以了。他只会删除表数据,不会删除表,这样注释就不会消失了。