本文說明如何註冊 Azure Databricks,以及如何在 Microsoft Purview 中驗證與互動 Azure Databricks Unity Catalog。 欲了解更多關於 Microsoft Purview 的資訊, 請閱讀導言文章。
支援功能
掃描能力
| 元資料擷取 | 全掃描 | 增量掃描 | 瞄準鏡掃描 |
|---|---|---|---|
| 是 | 是 | 是 | 是 |
掃描 Azure Databricks Unity 目錄時,Microsoft Purview 支援:
- 擷取技術元資料,包括:
- Metastore
- 目錄
- Schemas
- 包含欄位的表格
- 包含柱子的景觀
- 在筆記本執行期間取得資產上的血統,資料表、視圖、欄位之間的關係。
在設定掃描時,你可以選擇掃描整個 Unity 目錄,或是設定掃描範圍到部分目錄。
其他功能
關於 分類、 敏感性標籤、 政策、 資料血統及 即時檢視,請參閱 支援功能清單。
注意事項
此連接器帶來來自 Azure Databricks Unity 目錄的元資料。 要掃描 Azure Databricks workspace-scoped metadata,請參考 Azure Databricks Hive Metastore connector。
已知限制
Databricks 筆記本名稱在 Microsoft Purview 中以數字 ID 顯示,而非可讀名稱。 這是 Databricks 的限制,因為筆記本名稱不會在 Unity 目錄系統的表格中顯示。
如果 Azure Databricks 的掃描結果超過 1 MB,且 Azure Databricks 管理的 blob 儲存拒絕公共網路存取,可能會遇到錯誤。 為避免此情況,請確保 Purview 能存取被掃描的 Azure Databricks 工作區的內部 DBFS 儲存位置。 你可以 在這裡了解更多相關資訊。
增量掃描僅適用於 Azure Databricks Unity 目錄資料來源。
Scoped 掃描僅在 Azure Databricks 資料來源的 Unity Catalog 選項中提供。
僅在 Azure Databricks 資料來源下,Unity 目錄選項可新增受管理私有端點。
當物件從資料來源刪除時,目前後續掃描不會自動移除 Microsoft Purview 中對應的資產。
中國區域的 Azure Databricks 工作區無法取得血統資訊。 這是因為 Azure Databricks 系統資料表在這個區域不被支援。 Microsoft Purview 利用這些資料表來擷取血緣,因此在這個區域無法取得血緣。
欲了解更多與原生 Azure Databricks 血統相關的其他限制,請參閱 Azure Databricks 文件。
必要條件
你必須有一個 Azure 帳號並且有有效訂閱。 免費註冊帳號。
您必須擁有一個有效的 Microsoft Purview 帳號。
你需要一個Azure 金鑰保存庫,並且要授權 Microsoft Purview 存取機密。
你需要資料來源管理員(Data Source Administrator)和資料閱讀器(Data Reader)權限,才能在經典的 Microsoft Purview 治理入口網站中註冊並管理來源。 欲了解更多權限相關資訊,請參閱 Microsoft Purview 中的存取控制。
要掃描 Azure Databricks Unity 目錄,Microsoft Purview 會連接到你工作區的 SQL 倉庫,並使用 Personal Access Token 進行認證。 你需要有一個啟用 Unity 目錄並連接到你想掃描的 metastore,並且要有 Azure Databricks 工作空間。 在您的 Azure Databricks 工作空間中:
建立一個 SQL 倉庫。 如果適用,你也可以使用自動建立的入門倉庫。
記錄 HTTP 路徑。 你可以在 Azure Databricks 工作空間>、SQL 倉庫>、你的倉庫>、連線細節>、HTTP 路徑中找到它。
確保使用者擁有「可使用」權限,這樣才能連接到 Azure Databricks 的 SQL 倉庫。 想了解更多,請參考 SQL 倉庫存取控制。
Azure Databricks 中的 SQL 倉庫必須先執行,才能與 Microsoft Purview 建立連線,才能在 Microsoft Purview 中設定掃描。
要使用 Microsoft Purview 從 Azure Databricks 取得 lineage,必須具備以下先決條件:
啟用系統架構:系統架構 system.access 必須在您的 Unity 目錄中啟用。 這是必要的,因為沿用資訊儲存在系統資料表中,啟用此結構後可存取這些資料表。 了解更多關於使用系統資料表監控使用情況的資訊。
使用者權限:用於掃描的使用者帳號必須在以下系統資料表上擁有 SELECT 權限:
system.access.table_lineage
system.access.column_lineage
這些權限是必要的,因為血緣資料是直接從系統資料表讀取,沒有必要的存取權,Microsoft Purview 無法取得血緣資訊。
如果你Azure Databricks 工作空間不允許公共網路存取,或是你的 Microsoft Purview 帳號無法從所有網路存取,你可以使用管理虛擬網路 Integration Runtime或支援 Kubernetes 的自架整合執行環境來掃描。 你可以根據需要為 Azure Databricks 設置受管理的私人端點,以建立私有連線。
Databricks 與 Azure Databricks Unity Catalog (Azure) 的資料來源設定
Azure Databricks Unity 目錄與 Microsoft Purview 的連接可透過兩個來源設定:
- Azure Databricks (舊的原始碼)
- Azure Databricks Unity 目錄
資料來源間能力差異
Azure Databricks Unity 目錄連接器的功能會依連接來源而異,詳見此表:
| 功能 | 舊來源 | 新來源 |
|---|---|---|
| 來源名稱 | Azure Databricks | Azure Databricks Unity 目錄 |
| 來源支援 | 蜂巢 & Unity 目錄 | Unity 目錄 |
| 認證:個人存取令牌 | 支援 | 支援 |
| 認證:服務負責人 | 否 | 支援 |
| 認證:管理身份 | 否 | 支援 (系統管理身份) |
| Integration Runtime: Azure IR | 支援 | 支援 |
| Integration Runtime:管理型虛擬網路 IR | 支援 | 是的** |
| Integration Runtime:Kubernetes Self-Hosted IR | 支援 | 支援 |
| 帶鏡掃描 | 是的——目錄層級 | 否 |
| 增量掃描 | 否 | 是 |
| 譜系 | 支援 | 支援 |
**透過管理虛擬網路 Integration Runtime支援Azure Databricks Unity 目錄掃描。 不過,在這種情況下不支援受管理私有端點。
我應該用哪個來源?
你可以根據組織需求選擇任一來源,或同時使用兩者。 在 Microsoft Purview 中切換來源或同時使用兩者 不會導致資產重複 。 這種彈性讓你能從最適合現有配置的選項開始,並隨時間調整。
掃描驗證
你可以使用個人存取權杖、管理身份或服務主體認證方法來掃描 Azure Databricks Unity 目錄。
若使用系統指派的管理身份
In Azure Databricks
進入 設定>Workspace 管理員>身份與存取權限。
選擇 新增服務主體。
選擇新增。
選擇 Microsoft Entra ID managed 。 請提供 Microsoft Purview 的應用程式 ID 。 你可以在 Azure 入口網站的 Microsoft Purview 帳戶資源細節中找到應用程式 ID。
在 Microsoft Purview 中
- 在 憑證中選擇系統指派的管理身份。
對於你想帶入 Microsoft Purview 的所有物件,使用者或服務主體至少需要對資料表/檢視擁有 SELECT 權限,在物件目錄中使用 USE CATALOG ,並在物件結構上使用 SCHEMA 。
若要掃描 Unity 目錄中儲存庫中的所有物件,請使用具有 metastore 管理員角色的使用者或服務主體。 了解更多關於 Unity 目錄管理權限 及 Unity 目錄權限與可保護物件的相關資訊。
在分類時,使用者還需要對表格/檢視擁有 SELECT 權限,才能取得樣本資料。
登錄
本節說明如何利用經典的 Microsoft Purview 治理入口網站,在 Microsoft Purview 註冊 Azure Databricks 工作空間。
請前往您的 Microsoft Purview 帳號。
在左側窗格選擇 「資料映射 」。
選取 [登錄]。
在註冊來源中,選擇 Azure Databricks Unity Catalog>Continue。
在 Databricks Unity 目錄) 的登錄 (Azure 來源畫面中,請執行以下操作:
對於 名稱,請輸入一個 Microsoft Purview 會列出的資料來源名稱。
對於 Metastore ID,請提供你想掃描的 Azure Databricks Unity Catalog metastore 的 metastore ID。
從列表中選擇一個收藏。
- 選取 [完成]。
掃描
請使用以下步驟掃描 Azure Databricks,以自動識別資產。 欲了解更多關於掃描的資訊,請參閱 Microsoft Purview 中的掃描與資料擷取。
請參考 資料來源。
選擇已註冊的 Azure Databricks。
選擇 + 新掃描。
提供下列詳細資料:
姓名:輸入掃描所需的姓名。
透過整合執行時連線:選擇預設的 Azure 整合執行環境、管理式虛擬網路 IR,或是你建立的支援 Kubernetes 的自架整合執行環境。
憑證:選擇要連接到資料來源的憑證。 務必:
- 選擇 存取權杖、 管理身份或 服務主體。
- 你可以在註冊掃描時建立新的存取權杖或服務主體憑證。 欲了解更多資訊,請參閱 Microsoft Purview 中的來源驗證憑證。
工作區網址: 提供你想掃描的工作區網址。
HTTP 路徑: 指定 Databricks SQL Warehouse 的 HTTP 路徑,Microsoft Purview 將連接並執行掃描;例如,
/sql/1.0/endpoints/xxxxxxxxxxxxxxxx。 你可以在 Azure Databricks 工作區 -> SQL 倉庫 -> 你的倉庫 -> 連線細節 -> HTTP 路徑中找到它。血統提取: 將血統擷取切換為 On ,以取得掃描資產的血統。
選擇 測試連線 以驗證設定。
選取 [繼續]。
對於掃描 觸發,選擇是設定排程還是只執行一次掃描。
檢視你的掃描結果,選擇 儲存並執行。
掃描成功完成後,看看如何 瀏覽和搜尋資產。
查看您的掃描與掃描跑數
查看現有掃描檔:
- 前往 Microsoft Purview 入口網站。 在左側窗格選擇 「資料地圖」。
- 選擇資料來源。 你可以在 「最近掃描」頁面查看該資料來源上現有的掃描清單,或在 「掃描」 標籤中查看所有掃描。
- 選擇你想查看的掃描結果。 面板會顯示所有之前的掃描紀錄,以及每次掃描的狀態和指標。
- 選擇跑道 ID 來檢查 掃描跑的細節。
管理你的掃描
要編輯、取消或刪除掃描件:
前往 Microsoft Purview 入口網站。 在左側窗格,選擇 資料映射。
選擇資料來源。 你可以在 「最近掃描」頁面查看該資料來源上現有的掃描清單,或在 「掃描」 標籤中查看所有掃描。
選擇你想管理的掃描。 然後您可以:
- 請選擇 「編輯掃描」來編輯掃描。
- 選擇 取消掃描執行,請取消進行中的掃描。
- 選擇 刪除掃描後刪除掃描。
注意事項
- 刪除掃描檔不會刪除之前掃描產生的目錄資產。
瀏覽與搜尋資產
掃描 Azure 資料磚後,您可以瀏覽整合式目錄或搜尋整合式目錄,查看資產細節與血統。
依來源類型瀏覽時,你會看到兩個 Azure Databricks Unity Catalog 和 Azure Databricks 的條目。 前者包含 Unity 目錄的產物,包括元儲存庫及其目錄/結構/資料表/檢視,後者則包含工作區產物。
從 Azure Databricks 的工作區資產中,你可以在屬性分頁找到相關的 Unity 目錄,反向也適用。
譜系
瀏覽特定的 Azure Databricks 資產時,你可以看到已擷取血統的筆記本。
到資產->血統分頁,你可以在 Azure Databricks Notebook 資產或適用時查看資料表/檢視資產時看到血緣。
支援的血統情境
當資料表和檢視透過 Unity 目錄中的 Databricks 筆記本連接時,Lineage 是被支援的。
血統僅顯示在透過 Microsoft Purview 掃描的物件上。 所有相關資產必須掃描以形成完整的譜系圖。 確保所有包含相關筆記本的 Databricks 工作空間都包含在 Microsoft Purview 掃描中。
血統限制
- 當筆記本透過 Databricks 工作執行時,欄位層級的血緣可能無法被捕捉。
- Microsoft Purview 僅顯示部分血緣,若未掃描所有資料流相關物件。 例如,如果 Workspace A 中的筆記本將資料寫入 Workspace B 的表格,但 Microsoft Purview 只掃描 Workspace A 時,系統會顯示筆記本但不顯示目標資料表,導致系統不完整。
- 例如,如果筆記本是由外部服務 (觸發,例如Azure Data Factory [ADF] 管線呼叫 Databricks 工作) ,血統系統在 Microsoft Purview 中不會反映該依賴性。
- 在此情況下,ADF 資料集與 Databricks 資產之間的血緣關係並未顯示。
- 僅捕捉 Databricks 筆記本內建的血統。
血統缺失的劇本
血統提取是被動的;只有透過 Unity 目錄系統資料表記錄並存取的資料會被 Microsoft Purview 匯入。
- 請參考上述章節,以確保你的血統情境得到支持。
- 確認 Unity 目錄的血統系統資料表 (
system.access.table_lineage,)system.access.column_lineage是否正確填入。 - 如果還是遇到問題,請提出客服單。
請參閱支援 Databricks Unity 目錄沿襲情境的 支援能力 部分。 欲了解更多關於血統的一般資訊,請參閱 資料血統 及 血統使用者指南。
常見問題集 (FAQ)
Unity 目錄的欄位層級血緣是否被 Microsoft Purview 捕捉?
Microsoft Purview 可在 Unity 目錄的表格/檢視層級及欄位層級擷取血緣。
我沒看到欄位層級的血統,這是怎麼回事?
欄位層級的血緣是在你的筆記本從叢集中運行,而非透過 SQL 倉庫產生時產生的。
我出現超時錯誤,該怎麼辦?
當工作區中有大量資產時,掃描可能會失敗。 在這種情況下,你可以一次只掃描幾個目錄,這樣可以減少每次掃描的資產量,讓你的掃描能順利完成。
我剛剛用筆記本執行,但 Microsoft Purview 沒有取得該血統。 發生什麼事了?
在你的筆記本執行後,Databricks 更新系統資料表中的血統資訊可能會有幾分鐘的延遲。 Microsoft Purview 在系統資料表更新後就能取得該血統。
後續步驟
現在您的來源已註冊,請參考以下指南,進一步了解 Microsoft Purview 及您的資料: