簡體   English   中英

通過 Python 中的 Databricks api 讀取 Databricks 表?

[英]Read a Databricks table via Databricks api in Python?

使用 Python-3,我試圖將 Excel (xlsx) 表與 Databricks 中的相同 spark 表進行比較。 我想避免在 Databricks 中進行比較。 所以我正在尋找一種通過 Databricks api 讀取火花表的方法。 這可能嗎? 如何在 go 上讀取表:DB.TableName?

我可以推薦你在 notebook 中編寫 pyspark 代碼,從之前定義的作業中調用 notebook,並在本地機器和 databricks 工作區之間建立連接。

如果您願意,您可以直接在 spark 上執行comaprision 或將數據幀轉換為 pandas。 如果noteebok 將結束comaprision,可能會返回特定作業的結果。 我認為發送所有數據塊表可能是不可能的,因為 API 限制你有火花集群來執行復雜的操作,API 應該用於發送小消息。

官方文檔: https://docs.microsoft.com/en-us/azure/databricks/dev-tools/api/latest/jobs#--runs-get-output

檢索 output 和運行的元數據。 當筆記本任務通過 dbutils.notebook.exit() 調用返回值時,您可以使用此端點檢索該值。 Azure Databricks 限制此 API 返回 output 的前 5 MB。 要返回更大的結果,您可以將作業結果存儲在雲存儲服務中。

據我所知,沒有辦法從 DB API 中讀取該表,除非您將其作為 LaTreb 已經提到的作業運行。 但是,如果您真的想要,您可以使用 ODBC 或 JDBC 驅動程序通過您的數據塊集群獲取數據。

可以在 此處找到有關如何設置的信息。

設置 DSN 后,您可以使用pyodbc連接到數據塊並運行查詢。 此時 ODBC 驅動程序將只允許您運行 Spark-SQL 命令。

話雖如此,除非您有某種安全問題,否則將數據加載到 Databricks 中可能會更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM