Spark와 MariaDB Connection Error
Spark와 MariaDB Connection Error
문제
PySpark로 Mariadb의 데이터를 읽어와서 show()로 출력하는 코드를 작성 중이었다.
계속 show()의 결과가 아래와 같이 value가 컬럼명으로 채워져서 나온다.
+------------+----+
|process_code|name|
+------------+----+
|process_code|name|
|process_code|name|
|process_code|name|
|process_code|name|
...
원인 및 해결책
Spark는 jdbc:mariadb
를 인식하지 못한다고 한다.
그러므로 jdbc:mysql://{server}:{port}/{database}?permitMysqlScheme
과 같은 JDBC URL을 사용해야 한다. connection 코드는 아래와 같다.
# get mariadb data
mariadb_url = "jdbc:mysql://localhost:3306/test?permitMysqlScheme"
mariadb_table = "test_table"
mariadb_user = "root"
mariadb_password = "mypassword"
mariadb_driver = "org.mariadb.jdbc.Driver"
tag_manage = spark.read.format("jdbc") \
.option("url", mariadb_url) \
.option("driver", mariadb_driver) \
.option("user", mariadb_user) \
.option("password", mariadb_password) \
.option("query", 'select col1, col2 from test_table') \
.load()
Leave a comment