Exception in thread “main“ java.sql.SQLException: No suitable driver

详细报错信息如下:

Exception in thread "main" java.sql.SQLException: No suitable driver

at java.sql.DriverManager.getDriver(DriverManager.java:315)

at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.anonfundriverClass$2(JDBCOptions.scala:107)

at scala.Option.getOrElse(Option.scala:189)

at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.<init>(JDBCOptions.scala:107)

at org.apache.spark.sql.execution.datasources.jdbc.JdbcOptionsInWrite.<init>(JDBCOptions.scala:218)

at org.apache.spark.sql.execution.datasources.jdbc.JdbcOptionsInWrite.<init>(JDBCOptions.scala:222)

at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:46)

at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:45)

at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:75)

at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:73)

at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:84)

at org.apache.spark.sql.execution.QueryExecution$$anonfuneagerlyExecuteCommands1.anonfunapplyOrElse$1(QueryExecution.scala:110)

at org.apache.spark.sql.execution.SQLExecution.anonfunwithNewExecutionId5(SQLExecution.scala:103)

at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:163)

at org.apache.spark.sql.execution.SQLExecution.anonfunwithNewExecutionId1(SQLExecution.scala:90)

at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:775)

at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:64)

at org.apache.spark.sql.execution.QueryExecution$$anonfuneagerlyExecuteCommands1.applyOrElse(QueryExecution.scala:110)

at org.apache.spark.sql.execution.QueryExecution$$anonfuneagerlyExecuteCommands1.applyOrElse(QueryExecution.scala:106)

at org.apache.spark.sql.catalyst.trees.TreeNode.anonfuntransformDownWithPruning$1(TreeNode.scala:481)

at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:82)

at org.apache.spark.sql.catalyst.trees.TreeNode.transformDownWithPruning(TreeNode.scala:481)

at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.orgapachesparksqlcatalystplanslogicalAnalysisHelpersupertransformDownWithPruning(LogicalPlan.scala:30)

at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning(AnalysisHelper.scala:267)

at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning$(AnalysisHelper.scala:263)

at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:30)

at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:30)

at org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:457)

at org.apache.spark.sql.execution.QueryExecution.eagerlyExecuteCommands(QueryExecution.scala:106)

at org.apache.spark.sql.execution.QueryExecution.commandExecuted$lzycompute(QueryExecution.scala:93)

at org.apache.spark.sql.execution.QueryExecution.commandExecuted(QueryExecution.scala:91)

at org.apache.spark.sql.execution.QueryExecution.assertCommandExecuted(QueryExecution.scala:128)

at org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:848)

at org.apache.spark.sql.DataFrameWriter.saveToV1Source(DataFrameWriter.scala:382)

at org.apache.spark.sql.DataFrameWriter.saveInternal(DataFrameWriter.scala:355)

at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:247)

at org.apache.spark.sql.DataFrameWriter.jdbc(DataFrameWriter.scala:745)

at gs_1.gs_1_util.writeMySql(gs_1_util.scala:38)

at gs_1.task03$.test01(task03.scala:50)

at gs_1.task03$.main(task03.scala:61)

at gs_1.task03.main(task03.scala)

相关推荐
史呆芬4 分钟前
分布式事务实战:微服务跨服务数据一致性解决方案
java·后端·spring cloud
IT界的老黄牛9 分钟前
限流命中后该怎么办:直接丢、阻塞等待、延迟重投三种姿势的取舍
java·rocketmq·redisson·令牌桶·削峰·分布式限流
易筋紫容1 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript
888CC++1 小时前
C++ 快速学习指南:从入门到进阶的实战路线
开发语言·c++
daad7771 小时前
记录matlab状态机demo
java·网络·matlab
小小晓.1 小时前
C++记:函数
开发语言·c++·算法
牡丹雅忻11 小时前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
连续讨伐2 小时前
php小结
开发语言·php
学者猫头鹰2 小时前
Java 8 核心新特性
java
进击的程序猿~2 小时前
Go 并发底层原理面试学习指南
开发语言·面试·golang