與 Databricks 應用程式一起使用 Lakebase

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

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

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

先決條件

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

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

步驟 1:配置 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;

其他資源