適用於 Python 的 Databricks Connect
注意
本文涵蓋 Databricks Runtime 13.3 LTS 和更新版本適用的 Databricks Connect。
本文示範如何使用 Python 和 PyCharm 快速開始使用 Databricks Connect。
- 如需本文的 R 版本,請參閱 Databricks Connect for R。
- 如需本文的 Scala 版本,請參閱 Databricks Connect for Scala。
Databricks Connect 可讓您將熱門 IDE,例如 PyCharm、Notebook 伺服器和其他自定義應用程式連線至 Azure Databricks 叢集。 請參閱 什麼是 Databricks Connect?。
教學課程
若要略過本教學課程並使用不同的 IDE,請參閱 後續步驟。
需求
若要完成本教學課程,您必須符合下列需求:
- 您的目標 Azure Databricks 工作區必須啟用 Unity 目錄。
- 您已安裝 PyCharm 。 本教學課程已使用 PyCharm Community Edition 2023.3.5 進行測試。 如果您使用不同版本的 PyCharm,下列指示可能會有所不同。
- 您的計算符合適用於 Python 的 Databricks Connect 安裝需求。
- 如果您使用傳統計算,則需要叢集的標識碼。 若要取得叢集標識碼,請在工作區中按兩下 提要字段上的 [計算 ],然後按兩下叢集的名稱。 在網頁瀏覽器的網址列中,複製URL和之間的
clusters
configuration
字元字串。
步驟 1:設定 Azure Databricks 驗證
本教學課程使用 Azure Databricks OAuth 使用者對機器 (U2M) 驗證和 Azure Databricks 組態配置檔,以向 Azure Databricks 工作區進行驗證。 若要使用不同的驗證類型,請參閱 設定連線屬性。
設定 OAuth U2M 驗證需要 Databricks CLI。 如需安裝 Databricks CLI 的相關信息,請參閱 安裝或更新 Databricks CLI。
起始 OAuth U2M 驗證,如下所示:
針對每個目標工作區執行下列命令,使用 Databricks CLI 在本機起始 OAuth 令牌管理。
在下列命令中,將 取代
<workspace-url>
為您的 Azure Databricks 個別工作區 URL,例如https://adb-1234567890123456.7.azuredatabricks.net
。databricks auth login --configure-cluster --host <workspace-url>
或者,如果您想要搭配 DB Connect 使用 Databricks 無伺服器計算,請遵循設定與無伺服器計算的連線中的步驟。
Databricks CLI 會提示您儲存輸入為 Azure Databricks 組態設定文件的資訊。 按
Enter
以接受建議的配置檔名稱,或輸入新或現有配置檔的名稱。 任何具有相同名稱的現有配置檔,會以您輸入的資訊覆寫。 您可以使用設定檔,在多個工作區之間快速切換驗證內容。若要取得任何現有設定檔的清單,請在個別的終端機或命令提示字元中,使用 Databricks CLI 來執行命令
databricks auth profiles
。 若要檢視特定設定檔的現有設定,請執行 命令databricks auth env --profile <profile-name>
。在您的網頁瀏覽器中,完成登入 Azure Databricks 工作區的畫面指示。
在終端機或命令提示字元中出現的可用叢集清單中,使用向上鍵和向下鍵來選取工作區中的目標 Azure Databricks 叢集,然後按
Enter
。 您也可以輸入叢集顯示名稱的任何部分,以篩選可用叢集的清單。若要檢視配置檔目前的 OAuth 令牌值和令牌即將到期的時間戳,請執行下列其中一個命令:
databricks auth token --host <workspace-url>
databricks auth token -p <profile-name>
databricks auth token --host <workspace-url> -p <profile-name>
如果您有多個具有相同
--host
值的配置檔,您可能需要一起指定--host
和-p
選項,以協助 Databricks CLI 尋找正確的相符 OAuth 令牌資訊。
步驟 2:建立專案
- 啟動 PyCharm。
- 在主功能表上,按兩下 [ 檔案 > 新專案]。
- 在 [ 新增專案 ] 對話框中,按兩下 [ 純 Python]。
- 針對 [ 位置],按兩下資料夾圖示,然後完成螢幕上的指示,以指定新 Python 項目的路徑。
- 保留 已選取 [建立 main.py 歡迎腳本 ]。
- 針對 [解釋器類型],按兩下 [專案 venv]。
- 展開 Python 版本,並使用資料夾圖示或下拉式清單,從上述需求指定 Python 解釋器的路徑。
- 按一下 [建立]。
步驟 3:新增 Databricks Connect 套件
- 在 PyCharm 的主功能表上,單擊 [ 檢視 > 工具 Windows > Python 套件]。
- 在搜尋方塊中輸入
databricks-connect
。 - 在 PyPI 存放 庫 清單中,按兩下 [databricks-connect]。
- 在結果窗格 的最新 下拉式清單中,選取符合您叢集 Databricks Runtime 版本的版本。 例如,如果您的叢集已安裝 Databricks Runtime 14.3,請選取 14.3.1。
- 按兩下 [ 安裝套件]。
- 安裝套件之後,您可以關閉 [ Python 套件] 視窗。
步驟 4:新增程序代碼
在 [ 專案 工具] 視窗中,以滑鼠右鍵按兩下專案的根資料夾,然後按兩下 [ 新增 > Python 檔案]。
輸入
main.py
並按兩下 [Python 檔案]。在檔案中輸入下列程式代碼,然後根據組態配置檔的名稱儲存盤案。
如果步驟 1 的組態設定檔名為
DEFAULT
,請在檔案中輸入下列程式代碼,然後儲存盤案:from databricks.connect import DatabricksSession spark = DatabricksSession.builder.getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
如果步驟 1 的組態設定檔未命名
DEFAULT
,請改為在檔案中輸入下列程序代碼。 將佔位元<profile-name>
取代為步驟 1 的組態設定檔名稱,然後儲存盤案:from databricks.connect import DatabricksSession spark = DatabricksSession.builder.profile("<profile-name>").getOrCreate() df = spark.read.table("samples.nyctaxi.trips") df.show(5)
步驟 5:執行程序代碼
- 在遠端 Azure Databricks 工作區中啟動目標叢集。
- 叢集啟動之後,在主功能表上,按兩下 [ 執行 > 執行'main']。
- 在 [執行工具] 視窗 (檢視>工具視窗>執行), 在 [執行] 索引標籤的主窗格中,出現的前 5 個資料列。
samples.nyctaxi.trips
步驟 6:偵錯程序代碼
- 當叢集仍在執行時,在上述程式代碼中,按兩下旁
df.show(5)
的裝訂線以設定斷點。 - 在主功能表上,按兩下 [執行 > 偵錯'main']。
- 在 [偵錯工具] 視窗 (檢視>工具視窗>偵錯)的 [調試程式] 索引卷標的 [變數] 窗格中,展開 df 和 spark 變數節點,以瀏覽程式代碼
df
和spark
變數的相關信息。 - 在 [ 偵 錯工具] 視窗的提要字段中,按兩下綠色箭號 (繼續程式) 圖示。
- 在 [ 調試程式] 索引卷標的 [控制台] 窗格中,會出現的前 5 個數據列
samples.nyctaxi.trips
。
下一步
若要深入瞭解 Databricks Connect,請參閱下列文章:
若要使用 Azure Databricks 個人存取令牌以外的 Azure Databricks 驗證類型,請參閱 設定連線屬性。
若要使用其他 IDE、Notebook 伺服器和 Spark 殼層,請參閱下列內容:
若要檢視其他簡單的程式代碼範例,請參閱 適用於 Python 的 Databricks Connect 程式代碼範例。
若要檢視更複雜的程式代碼範例,請參閱 GitHub 中 Databricks Connect 存放庫的範例應用程式,特別是:
若要搭配 Databricks Connect 使用 Databricks Utilities,請參閱 Databricks Utilities with Databricks Connect for Python。
若要從 Databricks Runtime 12.2 LTS 的 Databricks Connect 移轉至 Databricks Connect for Databricks Runtime 13.3 LTS 和更新版本,請參閱 移轉至適用於 Python 的 Databricks Connect。