JDBC 기본 설정
val driver = "com.mysql.jdbc.Driver"
val url = "jdbc:mysql://localhost:3306/world"
val tablename = "country"
val connectionProperties = new Properties()
connectionProperties.put("user", "root")
connectionProperties.put("password", "root")
write
- 별다른 옵션 없이 write
- index 나 type 등 지정 불가 (ex. 문자열은 text 타입 자동 지정 등)
jdbcDf
.write
.jdbc("jdbc:mysql://localhost:3306/world", s"${tablename}", connectionProperties)
테이블 스키마 지정
- write 시 createTableColumnTypes 옵션으로 스키마 지정
- read 시 customSchema 옵션으로 지정
jdbcDf
.write
.option("createTableColumnTypes", "name VARCHAR(500), col1 VARCHAR(1024), col3 int")
.jdbc(url, s"${tablename}", connectionProperties)
append, overwrite, ignore mode
var writeMode = SaveMode.Overwrite // SaveMode.Append, SaveMode.Ignore 등
jdbcDf
.write
.mode(writeMode)
.option("createTableColumnTypes", "name VARCHAR(500), col1 VARCHAR(1024), col3 int")
.jdbc(url, s"${tablename}", connectionProperties)
reference