嗨已經有很多問題在那裏關於這個話題, 解決方案始終是:Apache的火花JDBC連接讀寫驅動程序丟失
- 通過SBT組裝
- 使用火花submit`s包括驅動程序選項--packages 加載它們的飛行
我在這裏設立最低例子:https://github.com/geoHeil/sparkJDBCHowTo,嘗試這兩種方法,但沒有爲我工作。獲得java.sql.SQLException: No suitable driver
嗨已經有很多問題在那裏關於這個話題, 解決方案始終是:Apache的火花JDBC連接讀寫驅動程序丟失
我在這裏設立最低例子:https://github.com/geoHeil/sparkJDBCHowTo,嘗試這兩種方法,但沒有爲我工作。獲得java.sql.SQLException: No suitable driver
這裏是修復: Apache Spark : JDBC connection not working 加入prop.put("driver", "org.postgresql.Driver")
工作正常。
奇怪的是,連接似乎並不穩定,例如與蜂房上下文它只能工作1次2次。
這很簡單。要連接到外部數據庫以將數據檢索到Spark數據框,需要額外的jar
文件。
E.g.與MySQL的JDBC驅動程序是必需的。下載驅動程序包並從可從羣集中的每個節點訪問的路徑中提取mysql-connector-java-x.yy.zz-bin.jar
。優選地,這是共享文件系統上的路徑。 例如與Pouta虛擬集羣這樣的路徑將在/shared_data
下,在這裏我使用/shared_data/thirdparty_jars/
。
從終端1直接提交的Spark作業可以指定–driver-class-path
參數指向應該提供給作業的工作人員的額外罐子。但是,這不適用於此方法,因此我們必須爲spark-defaults.conf
文件中的前端和工作器節點配置這些路徑,通常位於/opt/spark/conf
目錄中。
放置任何jar
,你使用的是什麼服務器在依賴:
spark.driver.extraClassPath /"your-path"/mysql-connector-java-5.1.35-bin.jar
spark.executor.extraClassPath /"your-path"/mysql-connector-java-5.1.35-bin.jar