Databricks Connect

注意

本文涵蓋 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、筆記本和程式設計語言中。

Databricks Connect 程式碼的執行位置

  • General 程式碼在本地執行:Python 與 Scala 程式碼在用戶端執行,支援互動式除錯。 所有程式碼都會在本機執行,而所有 Spark 程式碼都會繼續在遠端叢集上執行。
  • DataFrame API 會在 Databricks 計算上執行。 所有資料轉換都會轉換成 Spark 方案,並透過遠端 Spark 會話在 Databricks 計算上執行。 當您使用命令 (例如 collect()、 、 show()toPandas()) 時,它們會在您的本端用戶端上具體化。
  • UDF 程式碼會在 Databricks 計算上執行:本機定義的 UDF 會序列化,並傳輸至其執行的叢集。 在 Databricks 上執行使用者程式碼的 API 包括: UDFforeachforeachBatchtransformWithState
  • 對於相依性管理:
    • 在本機電腦上安裝應用程式依賴項。 這些程式在本地執行,需要安裝在專案中,例如你的 Python 虛擬環境。
    • 在 Databricks 上安裝 UDF 相依性。 請參見 管理 UDF 相依性

Spark Connect 是 Apache Spark 中以 gRPC 為基礎的開放原始碼通訊協定,允許使用 DataFrame API 遠端執行 Spark 工作負載。

針對 Databricks Runtime 13.3 LTS 和更新版本,Databricks Connect 是 Spark Connect 的延伸模組,並已新增和修改,以支援使用 Databricks 計算模式和 Unity 目錄。

下一步

請參閱下列教學課程,以快速開始開發 Databricks Connect 解決方案:

欲查看使用 Databricks Connect 的範例應用程式,請參閱 GitHub範例庫,其中包含以下範例: