與 Databricks 應用程式一起使用 Lakebase

Databricks Apps 讓你能直接在 Azure Databricks 工作空間中建立並部署互動式應用程式。 將 Lakebase 加入資源,讓你的應用程式擁有完整管理的 Postgres 後端。 Azure Databricks 會為你的應用程式建立一個服務主體,賦予它匹配的 Postgres 角色,並將連線細節注入為環境變數。 你的應用程式連接到一個完全管理的 Postgres 資料庫,但不需要管理憑證或連線字串。

架構圖顯示用戶端、Databricks 應用程式與 LKB 整合

這個教學會帶你如何部署一個連接到 Lakebase 資料庫的模板應用程式。 最後,你將擁有一個正在運行的應用程式,可以直接從 Lakebase 檢查和查詢數據,也可以選擇註冊到 Unity Catalog,與你的湖屋數據一起管理。

先決條件

開始之前,請確定您具備下列項目:

  • 可以存取具備 Lakebase 和serverless compute功能的 Azure Databricks 工作空間。 如有需要,請聯絡你的工作空間管理員。
  • 建立運算資源與應用程式的權限。

步驟一:設置 Lakebase 專案

Lakebase 專案是一個受管理的 Postgres 實例,你的應用程式會作為資源連接它。 專案組織成分支,每個 分支代表一個獨立的資料庫環境。

要建立 Lakebase 專案,請參閱 取得 Postgres 資料庫。 Lakebase 會以production 分支和databricks_postgres 資料庫建立你的專案。

步驟 2:建立 Databricks 應用程式

Azure Databricks 提供三個自動縮放應用程式範本,示範使用 Todos 應用程式整合 Lakebase:Dash、Flask 和 Streamlit。 要從範本建立應用程式:

  1. 在 Azure Databricks 工作區中,點擊 應用程式圖示 開關,然後選擇 Databricks 應用程式。
  2. 點擊 + 建立應用程式。
  3. 從資料庫標籤中選擇您偏好的範本。

Flask + LKB 應用程式範本

步驟 3:設定資料庫資源

將 Lakebase 加入資源後,會建立一個擁有正確資料庫權限的服務主體,並將你的連線細節以 環境變數 形式注入應用程式中。 這樣範本就能自動連接到你的資料庫,程式碼中不需要任何連接字串。

在 配置 步驟中,請設定以下設定。

  1. 對於 應用程式資源,請選擇你的 Lakebase 專案、分支和資料庫。 分會名稱以識別碼形式出現。 若要將 ID 與名稱對應,請參閱您專案的 分支頁面。
  2. 對於計算大小,請選擇中等。 這控制 應用程式伺服器的運算,與 Lakebase 資料庫的運算是分開的,且可獨立擴展。

資料庫資源配置顯示專案、分支及資料庫選擇

欲了解更多資訊,請參閱 「新增 Lakebase 資源至 Databricks 應用程式」。

步驟四:審查授權

每個 Databricks 應用程式都以其自己的 服務主體執行,是獨立於任何個別使用者之外的專用身份。 當你將 Lakebase 作為資源連接時,Azure Databricks會為該服務主體建立一個匹配的 Postgres role,並授予該服務主體完整的資料庫存取權。 不需要手動設定角色。

授權審查顯示服務主體權限

步驟五:命名你的應用程式並安裝

Lakebase 使用應用程式名稱來產生格式中的 {app-name}_schema_{service-principal-id} 結構名稱(從 ID 中移除連字號)。 建立後無法更改應用程式名稱,但之後可以重新命名結構。 模板預設為 lakebase-autoscaling-app。

點擊 建立應用程式 以建立應用程式。

步驟 6:部署應用程式

建立應用程式後,運算會自動啟動,應用程式大約在 2-3 分鐘內部署,無需其他操作。 當應用程式狀態顯示 為執行中時,點擊旁邊的網址即可開啟你的應用程式。

應用程式總覽顯示運行狀態與活躍運算

步驟7:驗證整合

在你的應用程式裡新增幾個待辦事項。 在你的 Lakebase 專案中,打開 資料表 ,並選擇應用程式架構中的 todos 表。 應用程式的服務主體利用步驟 3 注入的連線細節來寫入這些列。

LKB 表格視圖顯示應用程式編寫的待辦事項

若要直接查詢資料,請使用你 Lakebase 專案中的 SQL 編輯器。 因為 Lakebase 在閒置時會縮放到零,長時間停頓後的第一個查詢可能需要幾秒鐘才回應。 關於其他連線選項,請參見 「連接至您的資料庫」。

步驟八:透過 Unity 目錄查詢(可選)

預設情況下,你的應用程式 Lakebase 資料可直接透過 Postgres 連線存取。 在 Unity Catalog 註冊後,可以用標準 Databricks SQL 查詢湖屋資料。 接著你可以在同一查詢中將應用程式的交易表與 Delta 資料表結合。

要註冊,請開啟目錄探索器並建立新的目錄。 選擇 Lakebase Postgres 作為目錄類型,選擇 自動縮放,並選擇與你的應用程式相同的專案和分支。 完整詳情請參閱「 在 Unity 目錄中註冊 Lakebase 資料庫 」。

請注意,Unity Catalog 中的結構名稱會保留應用程式名稱的連字號。 目錄名稱與結構名稱皆需使用反引號(`)進行引用:

SELECT * FROM `your-catalog-name`.`lakebase-autoscaling-app_schema_aeb6ff9198ff4752af7dfc6d4cf570d0`.todos;

其他資源