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

從磚發送更新SQL Azure數據庫

LukaszJ
貢獻者三世

你好。

我想知道如何做一個更新在SQL Azure數據庫使用PySpark從Azure磚。

我知道如何使查詢選擇變成DataFrame,而是如何發送回一些數據(如更新行)?

我想用構建pyspark而不是一些pyodbc或別的東西。

最好的問候,

Łukasz

1接受解決方案

接受的解決方案

werners1
尊敬的貢獻者三世

你提到的代碼是Azure突觸。如果你想使用純SQL Azure,你的選擇是有限的。

你可以使用JDBC,但沒有更新功能。

或者你可以使用優化火花連接器,但缺乏DML支持:

通過連接器執行自定義的SQL

前麵的SQL Azure連接器提供火花執行自定義SQL代碼的能力通過連接器DML或DDL語句。這個連接器的功能檢查,因為它是基於數據源api。這個功能很容易由圖書館提供像pyodbc或您可以使用標準java sql接口。

在原帖子查看解決方案

5回複5

Kaniz
社區經理
社區經理

嗨@Łukasz Jaremek !我的名字叫Kaniz,我這裏的技術主持人。很高興認識你,謝謝你的問題!看看你的同行在社區中有一個回答你的問題。否則我將盡快給你回電。謝謝。

werners1
尊敬的貢獻者三世

這是討論了在堆棧溢出。當你看到蔚藍的突觸有一種方法,但對於一個純SQL數據庫必須使用某種像odbc / jdbc驅動程序。

LukaszJ
貢獻者三世

你好維爾納,

謝謝你的回複。

你的鏈接我發現這個鏈接這是和平的代碼:

#加載數據從Azure突觸查詢。df =火花。讀\ […)#應用一些轉換數據,然後使用#數據源API來編寫數據返回到另一個表在Azure突觸。df。寫\ .format (com.databricks.spark.sqldw) \ .option (“url”, " jdbc::狀態"置疑" / / < the-rest-of-the-connection-string >”) \ .option (“forwardSparkAzureStorageCredentials”,“真正的”)\ .option(“數據表”,“< your-table-name >”) \ .option (“tempDir”、“wasbs: / / < your-container-name > @ < your-storage-account-name >.blob.core.windows.net/ < your-directory-name >”) \ .save ()

然而,這對我來說不是一個好的解決方案。

首先,如果我想更新表中的一行,有幾個有上百萬的記錄嗎?

我需要下載整個表dataframe, SQL Azure更新一行,並重新發送嗎?它看起來真的無效。

此外,如果我想要更新在表的一個自動索引列?我不能下載dataframe表,更新自己的id值,並重新發送SQL Azure。

這就是為什麼我使用PyOdbc現在,因為我可以做出真正的sql插入/更新。

有優雅的解決方案在磚嗎?

最好的問候,

Łukasz

werners1
尊敬的貢獻者三世

你提到的代碼是Azure突觸。如果你想使用純SQL Azure,你的選擇是有限的。

你可以使用JDBC,但沒有更新功能。

或者你可以使用優化火花連接器,但缺乏DML支持:

通過連接器執行自定義的SQL

前麵的SQL Azure連接器提供火花執行自定義SQL代碼的能力通過連接器DML或DDL語句。這個連接器的功能檢查,因為它是基於數據源api。這個功能很容易由圖書館提供像pyodbc或您可以使用標準java sql接口。

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

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

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

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

Baidu
map