共用方式為


來自 Lakehouse SQL 編輯器的查詢

這很重要

Lakebase 自動縮放在以下地區處於 Beta 階段:eastus2westeuropewestus

Lakebase 自動縮放是 Lakebase 的最新版本,具備自動縮放運算、縮放至零、分支及即時還原功能。 關於與 Lakebase Provisioned 的功能比較,請參見「選擇版本」。

本頁說明如何利用 Lakehouse 的 SQL 編輯器,使用兩種不同的連線方式查詢 Lakebase 專案中的資料庫。

Lakehouse 的 SQL 編輯器是一個協作式的 SQL 工作區,你可以在這裡撰寫查詢、瀏覽資料目錄、建立視覺化,並與同事分享結果。 它提供先進的分析、協作與自動化功能。

備註

對於 Postgres 原生功能,如 EXPLAIN/ANALYZE meta-command\dt(, \d\l),請使用 Lakebase SQL 編輯器。 請參考 Lakebase SQL 編輯器的查詢

欲了解 SQL 編輯器功能的完整資訊,請參閱 「撰寫查詢並在 SQL 編輯器中探索資料」。

連接方法

你可以用兩種方法從 SQL 編輯器連接到你的 Lakebase 資料庫:

  1. 直接運算連線:直接連接你的 Lakebase 運算,即可立即查詢特定專案與分支。
  2. Unity 目錄註冊:將您的資料庫註冊到 Unity 目錄,以啟用聯邦查詢、統一治理及跨來源分析。

選擇你的連接方式

特徵 / 功能 直接計算連線 Unity Catalog 註冊
數據存取 對您的 Lakebase 資料庫提供完整讀寫權限 透過 Unity Catalog 的唯讀存取
適用對象 主要使用 Lakebase 資料,不結合其他資料來源 在聯邦查詢中將 Lakebase 資料與其他 Unity 目錄資料表結合
設定複雜度 無需註冊即可即時查詢特定資料庫 需要目錄註冊及 Unity 目錄權限
治理 沒有 Unity 目錄治理功能 統一治理控制(權限、血統、稽核日誌)
存取控制 Postgres 僅支援基於角色的權限 跨多個資料來源進行集中式發現與存取控制
應用案例 直接資料庫操作與修改 整合交易與分析資料的儀表板與應用程式

方法一:直接連接到 Lakebase 計算

使用此方法直接連接您的 Lakebase 運算,以便立即查詢存取。

開始之前

如果你不是專案擁有者,請確認你擁有:

  • Postgres 角色:對應的 Postgres 角色用於存取資料庫。 請參閱 管理 Postgres 角色
  • 資料庫權限:存取資料庫、結構或資料表所需的權限。 請參見 管理權限

如果你缺乏必要的角色或權限,請聯絡專案負責人申請存取權限。

備註

Lakebase 的運算必須處於主動狀態才能連接到它。 如果運算處於閒置狀態,你就無法連接。 當啟用「scale to zero」且沒有資料庫活動時,運算資源通常會變得不活躍。

要啟用閒置運算,請在 Lakebase SQL 編輯器中執行查詢,或關閉「縮放至零」以確保運算持續活躍。 參見 「縮放到零」。

要直接連接到你的 Lakebase 運算器:

  1. 用應用程式切換器來導航到 Lakehouse。
  2. 在側邊欄點選 SQL 編輯器圖示SQL 編輯器
  3. Connect 下拉選單中,選擇 「更多...」

連接選單

  1. 「附加到現有運算資源 」對話框中,選擇 Lakebase Postgres,選擇 自動縮放 選項,然後選擇你的 專案分支

附加至 LKB 專案與分支

  1. 點擊 「附加 」以連接。

直接連結的查詢範例

連線後,你可以對 Lakebase 資料庫執行標準的 Postgres SQL 查詢。

建立一個表格,插入資料,並查詢:

CREATE TABLE IF NOT EXISTS playing_with_lakebase(id SERIAL PRIMARY KEY, name TEXT NOT NULL, value REAL);
INSERT INTO playing_with_lakebase(name, value)
SELECT LEFT(md5(i::TEXT), 10), random() FROM generate_series(1, 10) s(i);
SELECT * FROM playing_with_lakebase;

查詢特定表格:

SELECT * FROM public.playing_with_lakebase;

這很重要

直接連接的限制:

  • 不支援聯邦查詢:你只能查詢連接的 Lakebase 專案和分支。 你無法在單一查詢中將 Lakebase 資料和其他 Unity 目錄資料表合併。
  • Postgres 元指令不支援:在 Lakebase SQL 編輯器中運作的 Postgres 元指令 (如 \dt\d\l)在 SQL 編輯器(Lakehouse)中無法使用。

方法二:在 Unity 目錄中登錄資料庫

使用此方法在 Unity 目錄中註冊您的 Lakebase 資料庫,實現聯合查詢與跨資料來源的統一治理。

開始之前

確認您有:

  • Postgres 角色:對應的 Postgres 角色用於存取資料庫。 請參閱 管理 Postgres 角色
  • 資料庫權限:存取資料庫、結構或資料表所需的權限。 請參見 管理權限
  • Unity Catalog 權限CREATE CATALOG 在 Unity Catalog metastore 中註冊資料庫的權限
  • SQL 倉庫:用於查詢註冊目錄的無伺服器 SQL 倉庫

如果你缺乏必要的角色或權限,請聯絡專案負責人申請存取權限。

註冊您的資料庫

要在 Unity 目錄中註冊 Lakebase 資料庫:

  1. 用應用程式切換器來導航到 Lakehouse。
  2. 在目錄總管中,點擊加號圖示並 建立目錄
  3. 輸入目錄名稱(例如)。 lakebase_catalog
  4. 選擇 Lakebase Postgres 作為目錄類型,然後選擇 自動縮放 選項。
  5. 選擇你的專案、分支和 Postgres 資料庫。
  6. 點擊 建立

目錄會出現在目錄總管中,您可以瀏覽結構、資料表和檢視。

透過 Unity 目錄查詢

註冊後,使用 SQL 倉庫或任何連接 Unity 目錄的工具查詢你的 Lakebase 資料庫。

查詢註冊資料庫:

-- Query a registered :re[LKB] database
SELECT * FROM chatbot_catalog.public.conversations
WHERE created_at >= current_date - INTERVAL 7 DAYS;

結合湖底與湖屋資料:

-- Join :re[LKB] and Unity Catalog data
SELECT
  c.conversation_id,
  c.user_id,
  c.agent_response,
  u.user_name,
  u.subscription_tier
FROM chatbot_catalog.public.conversations c
JOIN main.user_analytics.users u
  ON c.user_id = u.user_id;

關於 Unity 目錄權限及授權其他使用者存取權的資訊,請參見 權限與存取控制

這很重要

Unity 目錄註冊的限制:

  • 唯讀存取:從 Lakebase 資料庫註冊的目錄通過 Unity Catalog 實現唯讀。 若要修改資料,請使用 Lakebase SQL 編輯器或直接連接您的資料庫。
  • 每個目錄單一資料庫:每個 Unity 目錄代表一個 Lakebase 資料庫。 要公開多個資料庫,請分別註冊每一個資料庫。
  • 元資料同步:Unity 目錄會快取元資料以減少 Postgres 請求。 新物件可能不會立即出現。 點擊 「重新整理結構圖示 」即可觸發完整刷新。

欲了解在 Unity 目錄中註冊資料庫的完整資訊,請參閱 在 Unity 目錄中註冊湖基資料庫

後續步驟