programing

java.sql.SQL 비일시적 연결Maria에게 데이터 프레임을 쓰는 동안 예외가 발생했습니다.DB

newstyles 2023. 9. 6. 21:51

java.sql.SQL 비일시적 연결Maria에게 데이터 프레임을 쓰는 동안 예외가 발생했습니다.DB

mariaDB를 연결하고 테이블에서 데이터를 읽을 수는 있지만 mariaDB 테이블에 데이터를 쓰기 위해서는 동일한 연결이 작동하지 않습니다.

df.write.format("jdbc") \
.mode("append") \
.option("driver", "org.mariadb.jdbc.Driver") \
.option("url", "jdbc:mariadb://[host]:[port]/[db]") \
.option("user", "[user name]") \
.option("password", "[password]") \
.option("dbtable", "[table_name]").save()

저장 작업을 수행하는 동안 다음 오류가 발생합니다.

    Py4JJavaError: An error occurred while calling o647.save.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 91 in stage 56.0 failed 4 times, most recent failure: Lost task 91.3 in stage 56.0 (TID 2319) ([SPARK host] executor 13): java.sql.BatchUpdateException: java.sql.SQLNonTransientConnectionException: (conn=50615) Socket error
    at org.mariadb.jdbc.export.ExceptionFactory.createBatchUpdate(ExceptionFactory.java:213)
    at org.mariadb.jdbc.client.impl.StandardClient.executePipeline(StandardClient.java:599)
    at org.mariadb.jdbc.ClientPreparedStatement.executeBatchPipeline(ClientPreparedStatement.java:186)
    at org.mariadb.jdbc.ClientPreparedStatement.executeInternalPreparedBatch(ClientPreparedStatement.java:117)
    at org.mariadb.jdbc.ClientPreparedStatement.executeBatch(ClientPreparedStatement.java:454)
    at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.savePartition(JdbcUtils.scala:692)
    at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.$anonfun$saveTable$1(JdbcUtils.scala:856)
    at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.$anonfun$saveTable$1$adapted(JdbcUtils.scala:854)

언급URL : https://stackoverflow.com/questions/71750504/java-sql-sqlnontransientconnectionexception-while-writing-the-dataframe-to-maria