什麼是 Databricks 連線?

注意

本文涵蓋 Databricks 連線 Databricks Runtime 13.0 和更新版本。

如需舊版 Databricks 連線 的相關信息,請參閱 Databricks 連線 For Databricks Runtime 12.2 LTS 和以下版本

  • 若要略過本文並開始立即使用適用於 Python 的 Databricks 連線,請參閱適用於 Python 的 Databricks 連線。
  • 若要略過本文並開始立即使用適用於 R 的 Databricks 連線,請參閱適用於 R 的 Databricks 連線。
  • 若要略過本文並開始立即使用適用於 Scala 的 Databricks 連線,請參閱適用於 Scala 的 Databricks 連線。

概觀

Databricks 連線 可讓您將熱門 IDE 連線到 Azure Databricks 叢集,例如 Visual Studio Code、PyCharm、RStudio Desktop、IntelliJ IDEA、Notebook 伺服器和其他自定義應用程式。 本文說明 Databricks 連線 的運作方式。

Databricks 連線 是 Databricks Runtime 的用戶端連結庫。 它可讓您使用 Spark API 撰寫程式代碼,並在 Azure Databricks 叢集上遠端執行程式碼,而不是在本機 Spark 工作階段中執行。

例如,當您使用 Databricks 連線 執行 DataFrame 命令spark.read.format(...).load(...).groupBy(...).agg(...).show()時,命令的邏輯表示法會傳送至在 Azure Databricks 中執行的 Spark 伺服器,以在遠端叢集上執行。

使用 Databricks 連線,您可以:

  • 從任何 Python、R 或 Scala 應用程式執行大規模的 Spark 程式代碼。 您 import pyspark 現在可以從應用程式直接執行 Spark 程式代碼,而不需要安裝任何 IDE 外掛程式或使用 Spark 提交腳本,即可從 Python、 library(sparklyr) R 或 import org.apache.spark Scala 的任何位置執行 Spark 程式代碼。

    注意

    Databricks 連線 Databricks Runtime 13.0 和更新版本支援執行 Python 應用程式。 只有 Databricks Runtime 13.3 LTS 和更新版本 連線 才支援 R 和 Scala。

  • 即使在使用遠端叢集時,也請逐步執行並偵錯 IDE 中的程式碼。

  • 開發連結庫時會快速反覆運算。 您不需要在 Databricks 連線 中變更 Python 或 Scala 連結庫相依性之後重新啟動叢集,因為每個用戶端會話都會與叢集中的彼此隔離。

  • 關閉閑置叢集,而不會遺失工作。 由於用戶端應用程式與叢集分離,因此不會受到叢集重新啟動或升級的影響,這通常會導致失去筆記本中定義的所有變數、RDD 和 DataFrame 物件。

針對 Databricks Runtime 13.3 LTS 和更新版本,Databricks 連線 現在建置在開放原始碼 Spark 連線 上。 Spark 連線 為 Apache Spark 引進了分離的用戶端-伺服器架構,可讓您使用 DataFrame API 與未解析的邏輯計劃作為通訊協定,對 Spark 叢集進行遠端連線。 透過此以Spark連線為基礎的「V2」架構,Databricks 連線 會變成簡單且容易使用的精簡用戶端。 Spark 連線 可以內嵌到任何地方以連線到 Azure Databricks:在 IDE、筆記本和應用程式中,允許個別使用者和合作夥伴根據 Databricks 平臺建置新的(互動式)用戶體驗。 如需Spark連線的詳細資訊,請參閱Spark連線 簡介。

Databricks 連線 會決定程式代碼執行和偵錯的位置,如下圖所示。

顯示 Databricks 連線 程式代碼執行和偵錯的圖表

針對執行程式代碼:所有程式代碼都會在本機執行,而涉及 DataFrame 作業的所有程式代碼都會在遠端 Azure Databricks 工作區的叢集上執行,並執行回應會傳回給本機呼叫端。

針對偵錯程式代碼:所有程式代碼都會在本機偵錯,而所有Spark程式代碼都會繼續在遠端 Azure Databricks 工作區中的叢集上執行。 核心 Spark 引擎程式代碼無法直接從客戶端進行偵錯。

下一步