【发布时间】:2020-08-06 13:00:46
【问题描述】:
我们经常选择表格,当我们尝试使用 override 选项保存数据帧时,我们收到如下错误:
py4j.protocol.Py4JJavaError: An error occurred while calling o364.save.
: com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2730)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1618)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1549)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils$.truncateTable(JdbcUtils.scala:113)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:56)
at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:45)
at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
我确信这个问题与wating_timeout 和interative_timeout 无关。但不幸的是,有很多事情会导致这个问题。问题是当我们试图截断表时,有一些选择查询正在锁定表。
目前,可以通过手动从数据库中删除会话来修复它,但这不是我想要的解决方案。也许有人知道我可以做些什么来避免这种情况?
【问题讨论】:
标签: python pyspark apache-spark-sql amazon-rds aws-glue