問題背景:通過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")