[Spark] MariaDB Connector syntax error 해결

Woong·2022년 5월 2일
0

Apache Spark

목록 보기
13/22

Spark 에서 MariaDB Connector 를 이용해 MariaDB 에 save할 때, syntax error 발생하는 이슈

해결방안 1. Mysql Connector 사용

  • ※ Mysql Connector License 주의
Class.forName("com.mysql.jdbc.Driver")

val connectionProperties = new Properties()
connectionProperties.put("user", "root")
connectionProperties.put("password", "testpass")
connectionProperties.put("driver", "com.mysql.jdbc.Driver")

...
 testDF.write.mode("append").jdbc("jdbc:mysql://localhost:3306", "test_table", connectionProperties)

해결방안 2. MariaDB sql_mode 조정

  • 임시 적용
    ** ※ 서버 재시작시 사라짐
SET global sql_mode = ANSI_QUOTES;
  • 영구 적용
    ** my.cnf 에 적용해야 영구적으로 적용됨
# my.cnf
[mysqld]
sql_mode="ANSI_QUOTES"
  • source
Class.forName("org.mariadb.jdbc.Driver")

val connectionProperties = new Properties()
connectionProperties.put("user", "root")
connectionProperties.put("password", "testpass")
connectionProperties.put("driver", "org.mariadb.jdbc.Driver")

...
 testDF.write.mode("append").jdbc("jdbc:mariadb://localhost:3306", "test_table", connectionProperties)

reference

0개의 댓글