前言
本文记录Spark如何在表存在的情况时覆盖写入mysql但不修改已有的表结构,并进行主要的源码跟踪以了解其实现原理。主要场景为先用建表语句建好mysql表,然后用spark导入数据,可能会存在多次全表覆写导入的情况。
代码
已上传github
主要的参数为.option(“truncate”, true),可以参考Spark官网http://spark.apache.org/docs/latest/sql-data-sources-jdbc.html
主要代码逻辑为,读取csv,进行日期转化,然后覆盖写入到已经建好的mysql表中。
1 | package com.dkl.blog.spark.mysql |