问题背景:通过Spark SQL的jdbc去读取Oracle数据做测试,在本地的idea中没有报任务错误。但是打包到集群的时候报:
Exception in thread “main” java.sql.SQLException: No suitable driver
测试代码:
def read(spark: SparkSession): DataFrame = {
val jdbcDF = spark.read
.format("jdbc")
.option("url", "jdbc:oracle:thin:@ip:1521:orcl")
.option("dbtable", "SPARTA.BAYONET_VEHICLEPASS10")
.option("user", "SPARTA")
.option("password", "hik12345")
.load()
jdbcDF
}
在本地测试通过,服务器会报如上截图的错误。最后通过排查发现是少了一句要制定driver的类型
.option("driver", "oracle.jdbc.driver.OracleDriver")