注意
本文涵蓋 Databricks Runtime 13.3 LTS 及以上版本的 Databricks Connect。
Databricks Connect 是一個針對 Databricks 執行環境的用戶端函式庫,允許你從 Visual Studio Code、PyCharm 和 IntelliJ IDEA、筆記本及任何自訂應用程式中連接 Azure Databricks 運算,實現基於 Azure Databricks Lakehouse 的新互動使用者體驗。
Databricks Connect 適用於下列語言:
我可以使用 Databricks Connect 做什麼?
使用 Databricks Connect,你可以使用 Spark API 撰寫程式碼,並在 Azure Databricks 運算中遠端執行,而非在本地的 Spark 會話中。
從任何 IDE 以互動方式開發和偵錯。 Databricks Connect 可讓開發人員使用任何 IDE 的原生執行和偵錯功能,在 Databricks 計算上開發和偵錯其程式碼。 Databricks 的 Visual Studio Code 擴充功能 使用 Databricks Connect 來提供內建使用者程式碼除錯。
建置互動式資料應用程式。 就像 JDBC 驅動程式一樣, Databricks Connect 程式庫 可以內嵌在任何應用程式中,以與 Databricks 互動。 Databricks Connect 透過 PySpark 提供 Python 的完整表達力,消除 SQL 程式語言阻抗不匹配,並能在 Databricks 的無伺服器可擴展運算上使用 Spark 執行所有資料轉換。
其運作方式為何?
Databricks Connect 是以開放原始碼 Spark Connect 為基礎所建置,其具有 Apache Spark 的 分離用戶端-伺服器架構 ,可使用 DataFrame API 遠端連線至 Spark 叢集。 底層協議使用 Spark 的未解析邏輯計劃,並在 gRPC 之上利用 Apache Arrow。 用戶端 API 設計精簡,因此可以嵌入到任何地方:應用程式伺服器、IDE、筆記本和程式設計語言中。
- General 程式碼在本地執行:Python 與 Scala 程式碼在用戶端執行,支援互動式除錯。 所有程式碼都會在本機執行,而所有 Spark 程式碼都會繼續在遠端叢集上執行。
-
DataFrame API 會在 Databricks 計算上執行。 所有資料轉換都會轉換成 Spark 方案,並透過遠端 Spark 會話在 Databricks 計算上執行。 當您使用命令 (例如
collect()、 、show()toPandas()) 時,它們會在您的本端用戶端上具體化。 -
UDF 程式碼會在 Databricks 計算上執行:本機定義的 UDF 會序列化,並傳輸至其執行的叢集。 在 Databricks 上執行使用者程式碼的 API 包括: UDF、
foreach、foreachBatch和transformWithState。 - 對於相依性管理:
- 在本機電腦上安裝應用程式依賴項。 這些程式在本地執行,需要安裝在專案中,例如你的 Python 虛擬環境。
- 在 Databricks 上安裝 UDF 相依性。 請參見 管理 UDF 相依性。
Databricks Connect 和 Spark Connect 有何關聯?
Spark Connect 是 Apache Spark 中以 gRPC 為基礎的開放原始碼通訊協定,允許使用 DataFrame API 遠端執行 Spark 工作負載。
針對 Databricks Runtime 13.3 LTS 和更新版本,Databricks Connect 是 Spark Connect 的延伸模組,並已新增和修改,以支援使用 Databricks 計算模式和 Unity 目錄。
下一步
請參閱下列教學課程,以快速開始開發 Databricks Connect 解決方案:
- Databricks Connect for Python經典計算教學
- Databricks Connect 用於 Python 的無伺服器運算教程
- 適用於 Scala 的 Databricks Connect 經典計算教學課程
- Databricks Connect Scala 無伺服器計算教學課程
- 適用於 R 的 Databricks Connect 教學課程
欲查看使用 Databricks Connect 的範例應用程式,請參閱 GitHub範例庫,其中包含以下範例: