搭配舊版Hive中繼存放區使用 DLT 管線
本文詳細說明已設定為將數據發佈至舊版 Hive 中繼存放區之 DLT 管線的特定設定和注意事項。 Databricks 建議針對所有新的管線使用 Unity 目錄。 請參閱 使用 Unity Catalog 搭配您的 DLT 流程。
注意
本文討論管線目前預設發佈模式的功能。 在 2025 年 2 月 5 日之前建立的管線可能會使用傳統發佈模式,以及 LIVE
虛擬架構。 請參閱 LIVE 架構 (舊版)。
如何在舊版Hive metastore中查詢串流數據表和具體化檢視
更新完成之後,您可以檢視架構和數據表、查詢數據,或使用下游應用程式中的數據。
發行之後,可以從任何具有目標架構存取權的環境查詢 DLT 數據表。 這包括 Databricks SQL、筆記本和其他 DLT 管線。
重要
當您建立 target
組態時,只會發佈數據表和相關聯的元數據。 視圖不會發佈至中繼資料庫。
設定資料管道以發布至Hive中繼存放區
建立新的管線時,您可以在 [記憶體] 選項底下指定 Hive 中繼存放區, 發佈至舊版 Hive 中繼存放區。 發行至 Hive 中繼存放區時,您必須指定預設的目標架構。 請參閱 設定 DLT 管線。
指定儲存位置
您可以為發佈至 Hive 中繼存放區的管線指定儲存位置。 指定位置的主要動機是控制管線所寫入資料的物件儲存位置。 Databricks 建議一律明確儲存位置,以避免寫入 DBFS 根目錄。
由於 DLT 管線的所有資料表、數據、檢查點和元數據都是由 DLT 完全管理,因此大部分與 DLT 數據集的互動都是透過登錄至 Hive 中繼存放區或 Unity 目錄的數據表進行。
雲端記憶體組態
若要存取 Azure 記憶體,您必須使用叢集組態中的 spark.conf
設定來設定必要的參數,包括存取令牌。 如需設定 Azure Data Lake Storage Gen2 (ADLS Gen2) 記憶體帳戶存取權的範例,請參閱 在管線中以秘密安全地存取記憶體認證。
管理 Hive 中繼存放區管線的事件記錄檔
如果您的管線 將數據表發佈至 Hive 中繼存放區,事件記錄檔會儲存在 storage
位置下的 /system/events
。 例如,如果您已將管線 storage
設定為 /Users/username/data
,則事件記錄檔會儲存在 DBFS 的 /Users/username/data/system/events
路徑中。
如果您尚未設定 storage
設定,DBFS 中的預設事件記錄檔位置會 /pipelines/<pipeline-id>/system/events
。 例如,如果管線的識別碼 91de5e48-35ed-11ec-8d3d-0242ac130003
,則儲存位置會 /pipelines/91de5e48-35ed-11ec-8d3d-0242ac130003/system/events
。
您可以建立檢視來簡化事件記錄檔的查詢。 下列範例會建立稱為 event_log_raw
的暫存檢視。 本文中包含的範例事件記錄查詢中會使用此檢視:
CREATE OR REPLACE TEMP VIEW event_log_raw
AS SELECT * FROM delta.`<event-log-path>`;
將 <event-log-path>
取代為事件記錄檔位置。
管線運行的每個實例稱為 更新。 您通常會想要擷取最新更新的資訊。 執行下列查詢來尋找最新更新的標識符,並將它儲存在 latest_update_id
暫存檢視中。 本文中包含的範例事件記錄查詢中會使用此檢視:
CREATE OR REPLACE TEMP VIEW latest_update AS
SELECT origin.update_id AS id
FROM event_log_raw
WHERE event_type = 'create_update'
ORDER BY timestamp DESC
LIMIT 1;
您可以在 Azure Databricks Notebook 或 SQL 編輯器中查詢事件記錄檔,。 使用筆記本或 SQL 編輯器來執行範例事件記錄檔查詢。
沒有 Unity 目錄之工作區的管線原始程式碼筆記本範例
您可以將下列筆記本匯入 Azure Databricks 工作區,而不啟用 Unity 目錄,並使用它們來部署 DLT 管線。 匯入您所選語言的 notebook 文件,並在使用 Hive 中繼存放區 儲存選項設定管線時,於 原始程式碼 欄位中指定路徑。 請參閱 設定 DLT 管線。