取消
顯示的結果
而不是尋找
你的意思是:

我怎麼能叫火花Sql存儲過程?

mashaye
新的因素

我看到下麵的代碼:

val url = " jdbc: mysql: / / yourIP: yourPort /測試嗎?用戶= yourUsername;密碼= yourPassword " val df = sqlContext .read .format (jdbc) .option (“url”, url) .option(“數據表”,“人”).load ()

但我需要運行一個存儲過程。當我使用

執行
命令的
數據表
以上選項,它給了我這個錯誤:

com.microsoft.sqlserver.jdbc。SQLServerException:不正確的語法在關鍵字“執行”。

6個回答6

ShaunRyan1
新的貢獻者二世

嗨。

從文檔

JDBC表應該讀。注意,是有效的
可以使用SQL查詢的條款。例如,而不是一個完整的表也可以在括號中使用子查詢。

所以必須有一個查詢,或者你可以用表函數,實現存儲過程一樣。

xsobh
新的貢獻者二世

您可以使用用戶定義的函數

ChristianBracch
新的貢獻者二世

嗨,你能詳細嗎?我理解,除非你埋葬一些動態sql UDF然後你不能做任何事除了選擇數據並返回它。

克裏斯

j500sut
新的貢獻者二世

這似乎並不支持。有一個替代,但需要使用pyodbc和增加你的init腳本。細節可以在這裏找到:

https://datathirst.net/blog/2018/10/12/executing-sql-server-stored-procedures-on-databricks-pyspark

我已經測試了這個自己和工作好。如果任何人有任何替代方法請讓我知道。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map