Important
這項功能位於 測試版 (Beta) 中。 請聯絡您的 Databricks 帳戶團隊,啟用此功能。
Lakehouse//RT 正在積極開發中。 效能特性及支援的功能集將在正式上市前改變。
Lakehouse Real-Time(Lakehouse//RT)是一款無伺服器運算,專為低延遲、高並發性使用情境打造,例如向自訂應用程式提供分析資料、執行營運分析,或驅動數百至數千名同時在線用戶需不到秒回應的商業智慧儀表板。
Lakehouse//RT 為儲存在雲端儲存體中、採用 Delta Lake 或 Apache Iceberg 格式的 Unity Catalog 資料表,提供 SQL 讀取查詢延遲低於一秒的效能。 你建立和管理 Lakehouse//RT 就像做其他 SQL 倉庫一樣。 工作區管理員或特權使用者會在每個工作區建立一個或多個,並分配權限給使用者。
Requirements
要使用 Lakehouse//RT,您必須:
- 位於支援的區域。
- 在你的工作區啟用 Lakehouse//RT Beta 版本。
在你的工作區啟用 Lakehouse//RT
工作區管理員可以在你的工作區啟用 Lakehouse//RT Beta 版本:
- 在你的工作區選單(右上角),點到 預覽。
- 搜尋 Lakehouse RT。
- 啟用預覽。
啟用預覽後, 即時 倉儲類型會在你的工作空間的 SQL 倉儲建立流程中可用。
建立一個湖屋//RT 倉庫
若要建立 Lakehouse//RT 倉儲:
- 前往 計算>SQL 倉庫>建立 SQL 倉庫。
- 選擇即時。
- 根據查詢所需的效能,選擇大小: 小型、 中型、 大型或 X-Large。
- 輸入倉庫名稱。
- 點擊 建立。
要指派權限,請授予使用者和群組 Can 使用、 可監控或 管理 權限,就像 SQL 倉庫一樣。
Note
你目前無法將現有的 SQL 倉庫升級到 Lakehouse//RT,或將現有的 Lakehouse//RT 倉庫降級到其他倉庫類型。
監視 Lakehouse//RT 活動狀態
你可以像監控在 SQL 倉儲中執行的任何查詢一樣,監控 Lakehouse//RT 查詢:
- 查詢歷史: Lakehouse//RT 查詢會出現在 查詢歷史介面 和 查詢歷史系統資料表中。
- 查詢設定檔:在查詢歷程 UI 中開啟 Lakehouse//RT 查詢,以檢視其 查詢設定檔。
- 監控頁面:監控每個 Lakehouse//RT 倉庫的查詢吞吐量、排隊查詢及查詢歷史。
-
計費:Lakehouse//RT 使用量會在計費系統資料表中顯示,
sku_name為Lakehouse_Serverless。
最佳實務
為了獲得 Lakehouse//RT 的最佳效果,請在轉移工作負載前先做好準備:
- 先在無伺服器 SQL 上驗證。 在無伺服器的 SQL 倉庫上執行查詢,確認幾秒鐘內就能完成。
- 使用 Unity Catalog 管理數據表。 具備 預測優化 與 液態叢集 的管理式資料表,確保您的資料能夠根據工作負載模式妥善叢集。
- 確認查詢是否具選擇性。 對於亞秒延遲,請確認你的查詢掃描的資料量較少。 早期用
WHERE子句篩選,只選擇你需要的欄位,並依賴彙整。 支援跨資料表聯結,但如果你發現查詢變得複雜或速度變慢,可以考慮使用預先彙總資料的實體化檢視,以降低延遲。 - 請檢查 SQL 覆蓋範圍。 Lakehouse//RT 支援僅符合 ANSI 標準的讀取查詢。 確認你的工作負載符合 ANSI標準,並避免限制中列出的不支援語句、函式和資料型別。
支援的功能
工具與介面
你可以在以下 Azure Databricks 功能中,從計算選擇器中選擇 Lakehouse//RT:
- SQL 編輯器
- SQL 筆記本
- AI/BI 儀表板
- 目錄檢視器
- Alerts
數據表類型
Lakehouse//RT 只查詢 Unity Catalog 資料。 為了達到最佳效能,建議使用 Unity Catalog 管理的資料表,這能讓引擎獲得所需的資料配置以降低延遲。
Lakehouse//RT 支援以下表格類型:
- 管理型資料表(Delta Lake 與 Apache Iceberg 資料表)
- 實體化視圖和串流資料表
- 指標視圖
Connectivity
Lakehouse//RT 只接受使用 Statement Execution API 的連線。 它不支援舊有的 Thrift 協定,因此若驅動程式在未明確使用語句執行 API 的情況下連接,會 501 收到錯誤。
你可以透過以下方式連接到 Lakehouse//RT 倉庫:
- 語句執行 API: 直接從外部應用程式呼叫 API。 請參閱 語句執行 API:在倉儲上執行 SQL。
-
Databricks SQL 驅動程式: 以下驅動程式可在你設定為使用 Statement Execution API 時連接。 將驅動程式的 HTTP 路徑指向你的 Lakehouse//RT 倉庫,然後設定以下選項:
-
Databricks SQL Connector for Python: Set
use_kernel=True. -
Databricks SQL 驅動程式用於 Node.js: 設定
useKernel: true。 -
JDBC: 在連線 URL 中設定
UseThriftClient=0。
-
Databricks SQL Connector for Python: Set
Pricing
價格資訊請參閱 Lakehouse Real-Time 價格 頁面。
Limitations
當查詢使用不支援的功能時,Lakehouse//RT 會回傳錯誤,錯誤地命名該功能。 要成功執行查詢,建議使用無伺服器的 SQL 倉庫。
工具和功能
Lakehouse//RT 目前尚未支援以下功能:
- 精靈特工
- 精靈空間
- 工作任務
數據表類型
以下表格類型尚未支援:
- 系統數據表
- Delta Sharing 資料表
- Unity 目錄預設儲存中的表格
- Unity Catalog 中的外部資料表
Lakehouse//RT 不支援以下表格類型:
- Hive metastore 資料表(管理型或外部型)
- 外部資料表與查詢同盟(Lakehouse 同盟)
- 暫存資料表
- 使用其他資料格式的資料表(CSV、JSON、Avro、Parquet、ORC 和文字)
驅動程式與連接器
Lakehouse//RT 不支援以下驅動程式與連接器:
- ADBC
- ODBC
- Go
SQL 語言
Lakehouse//RT 僅以 ANSI 模式 執行 SQL 讀取查詢。
Lakehouse//RT 不支援以下功能:
-
資料類型:以及
GEOGRAPHYGEOMETRY資料型別。 - 職能:AI 函式、Python UDF、空間 SQL 函式,以及 XPath 和 XML 函式。
- 治理: 基於屬性的存取控制(ABAC),包括列級安全性與欄遮蔽。
Lakehouse//RT 僅用於讀取(SELECT)查詢。 不支援寫入與 ETL 指令,包括:
-
寫入作業:
INSERT、UPDATE、DELETE、MERGE和CREATE TABLE AS SELECT(CTAS)。 -
DDL:
CREATE、ALTER、、DROP,以及其他用來建立或修改物件的語句。 -
安全聲明:
GRANT以及REVOKE。 - 腳本、儲存程序、暫存資料表與多重語句交易。
-
三角洲湖維護:
OPTIMIZE、ANALYZE、VACUUMREFRESH、 。
網路安全
Lakehouse//RT 尚未支援以下網路配置:
Compliance
目前不支援合規安全設定檔。
已知問題
- Lakehouse//RT 套用的隱含型別強制與鑄造規則與其他 SQL 倉庫類型不同。 依賴隱含型別轉換的查詢,例如比較字串與數字、對字串值進行算術運算,或跨不相容型別使用
COALESCE,可能會回傳不同的結果類型或值,甚至失敗。 要獲得可預測的結果,請使用明確的CAST表達式。