元數據管理與數據治理平臺:Apache Atlas 分類傳播 Classification Propagation

文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。

Apache Atlas
Apache Atlas 框架是一套可擴展的核心基礎治理服務,使企業能夠有效、高效地滿足 Hadoop 中的合規性要求,并支持與整個企業數據生態系統集成。這將通過使用規范和取證模型,以及技術和運營審計以及由業務分類元數據豐富的沿襲,在 Hadoop 中提供真正的可視性。它還使任何元數據使用者能夠互操作,而無需彼此獨立的接口——元數據存儲是通用的。通過利用 Apache Ranger 來維護元數據的準確性,以防止在運行時對數據進行未經授權的訪問。安全性基于角色 (RBAC) 和屬性 (ABAC)。

分類傳播

Classification Propagation

  • 分類傳播使得與某個實體關聯的分類可以自動關聯到該實體相關的其他實體。這在處理數據集從其他數據集派生數據的場景時非常有用——例如,一個表從文件加載數據、一個報表從表或視圖生成等。
  • 例如,當一個表被分類為 PII 時,從此表派生數據的表或視圖(通過 CTAS 或 “create view” 操作)將被自動分類為 PII

使用場景

考慮以下數據血緣場景,數據從 ‘hdfs_path’ 實體加載到一個表中,該表進一步通過視圖對外提供。我們將通過多個場景來理解分類傳播特性。

img

向實體添加分類

當向 ‘hdfs_path’ 實體添加分類 ‘PII’ 時,該分類會傳播到血緣路徑中所有受影響的實體,包括 ‘employees’ 表、視圖 ‘us_employees’ 和 ‘uk_employees’ —— 如下圖所示。

img

更新與實體關聯的分類

對與實體關聯的分類的任何更新,也會在所有分類傳播到的實體中體現出來。

img

移除與實體關聯的分類

當從實體中刪除分類時,該分類也會從所有分類傳播到的實體中移除。

img

在實體之間添加血緣

當在實體之間添加血緣時,例如捕獲文件數據加載到表中的過程,與源實體關聯的分類也會傳播到所有受影響的實體。
例如,當從表創建視圖時,與該表關聯的分類會傳播到新創建的視圖。

img

刪除實體

情況 1:
當刪除實體時,與該實體關聯的分類將從所有分類傳播到的實體中移除。
例如,當刪除 employees 表時,與該表關聯的分類將從 ‘employees_view’ 視圖中移除。

img

情況 2:
當在血緣路徑的中間刪除實體時,傳播鏈路會中斷,先前傳播的分類將從被刪除實體的所有派生實體中移除。
例如,當刪除 ‘us_employees’ 表時,通過該表傳播的(PII)分類將從 ‘ca_employees’ 表中移除,因為唯一的傳播路徑被實體刪除中斷了。

img

img

情況 3:
當在血緣路徑的中間刪除實體,并且存在其他傳播路徑時,先前傳播的分類將被保留。
例如,當刪除 ‘us_employees’ 表時,通過該表傳播的(PII)分類將保留在 ‘ca_employees’ 表中,因為存在兩條傳播路徑,其中只有一條被實體刪除中斷。

img

img

控制傳播

Apache Atlas 提供了一些選項來控制分類是否/在哪里傳播。
本節將詳細介紹可用選項。

分類中的傳播標志

每次將分類關聯到實體時,都有一個布爾標志控制該分類是否傳播。
當分類關聯到實體時,此標志默認設為 ‘true’,即該分類將傳播到所有受影響的實體。在初始關聯或后續更新時,可根據需要更新此標志。

img

血緣邊中的傳播標志

Apache Atlas 支持在血緣邊上設置標志,以啟用/禁用通過該邊傳播分類。默認情況下,血緣邊啟用傳播。
當標志關閉時,沒有分類會通過該邊傳播;并且將重新評估當前通過該邊傳播的分類,以便可以從受影響的實體中移除它們。
當標志打開時,將重新評估源實體的分類傳播,以便可以將它們傳播到所有受影響的實體。

在血緣邊中阻止特定分類傳播

Apache Atlas 支持在血緣邊中阻止特定分類的傳播。
例如,這在以下場景很有用:在創建視圖時,被分類為 PII 的列被屏蔽;在這種情況下,如果視圖中的對應列可能不具有 PII,因此應阻止 PII 分類的傳播。
可以通過更新血緣邊,將 PII 分類添加到 ‘blocked propagated classifications’ 列表中來實現。
被阻止傳播的分類列表中的分類將不會在派生/下游實體中傳播。

img

通知與審計

當傳播的分類被添加/更新/刪除時,Apache Atlas 會向 ‘ATLAS_ENTITIES’ 主題發送通知,通知中包含受傳播影響的每個實體。

術語表

當分類與術語表術語關聯時,該分類會自動傳播到與該術語關聯的所有實體。

風險提示與免責聲明
本文內容基于公開信息研究整理,不構成任何形式的投資建議。歷史表現不應作為未來收益保證,市場存在不可預見的波動風險。投資者需結合自身財務狀況及風險承受能力獨立決策,并自行承擔交易結果。作者及發布方不對任何依據本文操作導致的損失承擔法律責任。市場有風險,投資須謹慎。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92856.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92856.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92856.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

TSF應用開發與運維部署

架構演進歷程:單體架構-->SOA架構-->微服務架構-->Service Mesh騰訊微服務平臺TSF (Tencent Service Framework) 是一個圍繞應用和微服務的 PaaS 平臺。提供服務全生命周期管理能力和數據化運營支持。提供多維度應用、服務、機器的監控數據,助力…

linux開發之mmap內存映射

mmap概念 mmp是 將文件或設備直接映射到進程的虛擬內存空間 的一種機制,可實現程序像訪問內存一樣訪問文件,而不需要傳統的 read()/write()系統調用 文件內容被映射到進程的地址空間,讀寫文件就像操作內存一樣,操作系統負責自動同…

CPP繼承

繼承 一、繼承概述 1、為什么需要繼承 如下示例,Person 類、Student 類、Teacher 類有大量重復的代碼,造成代碼冗余,降低開發效率。我們可以通過繼承來解決這一問題。在面向對象的編程語言中,繼承是一個核心概念。主要作用將重復的…

模塊 PCB 技術在未來通信領域的創新突破方向

未來通信領域對數據傳輸速率、信號穩定性及設備集成度的要求持續攀升,模塊 PCB 作為通信設備的關鍵組件,其技術創新成為推動行業發展的核心動力。獵板 PCB 憑借深厚的技術積累與持續的研發投入,在模塊 PCB 技術創新方面取得諸多突破&#xff…

mysql的InnoDB索引總結

MySQL InnoDB索引知識點總結 1. 索引類型 1.1 聚簇索引(Clustered Index) 定義與特性 定義:聚簇索引是InnoDB的默認存儲方式,數據行按照主鍵的順序物理存儲在磁盤上特性: 每個InnoDB表只能有一個聚簇索引數據頁中的記錄…

C++模板的補充

類模板(上一篇沒講到類模板C/C內存管理&函數模板-CSDN博客&#xff09; 類模板的定義&#xff1a; template<class T1, class T2, ..., class Tn> class 類模板名 {// 類內成員定義 }; 用一個簡單的棧例子講類模板 #define _CRT_SECURE_NO_WARNINGS #include &l…

用JOIN替代子查詢的查詢性能優化

一、子查詢的性能瓶頸分析?重復執行成本?關聯子查詢會導致外層每行數據觸發一次子查詢&#xff0c;時間復雜度為O(M*N)sql-- 典型低效案例 SELECT e.employee_id, (SELECT d.department_name FROM departments d WHERE d.department_id e.department_id) FROM employees e; …

【設計模式】訪問者模式模式

訪問者模式&#xff08;Visitor Pattern&#xff09;詳解一、訪問者模式簡介 訪問者模式&#xff08;Visitor Pattern&#xff09; 是一種 行為型設計模式&#xff08;對象行為型模式&#xff09;&#xff0c;它允許你在不修改對象結構的前提下&#xff0c;為對象結構中的元素添…

比特幣現貨和比特幣合約的區別與聯系

一、基本定義項目現貨&#xff08;Spot&#xff09;合約&#xff08;Futures / Perpetual&#xff09;本質直接買賣比特幣本身買賣比特幣價格的衍生品合約所得資產真實的 BTC合約頭寸&#xff08;沒有直接持有 BTC&#xff09;結算方式交割比特幣現金結算&#xff08;多數平臺&…

Qt/C++開發監控GB28181系統/實時監測設備在線離線/視頻預覽自動重連/重新點播取流/低延遲

一、前言說明 一個好的視頻監控系統&#xff0c;設備掉線后能夠自動重連&#xff0c;也是一個重要的功能指標&#xff0c;如果監控系統只是個rtsp流地址&#xff0c;那非常好辦&#xff0c;只需要重新打開流地址即可&#xff0c;而gb28181中就變得復雜了很多&#xff0c;需要多…

此芯p1開發板使用OpenHarmony時llama.cpp不同優化速度對比(GPU vs CPU)

硬件環境 Cix P1 SoC 瑞莎星睿 O6 開發板 rx580顯卡 產品介紹&#xff1a; https://docs.radxa.com/orion/o6/getting-started/introduction OpenHarmony 5.0.0 使用vulkan后端的llama.cpp &#xff08;GPU&#xff09; # ./llama-bench -m /data/qwen1_5-0_5b-chat-q2_k.…

Android 四大布局:使用方式與性能優化原理

一、四大布局基本用法與特點1. LinearLayout&#xff08;線性布局&#xff09;使用方式&#xff1a;<LinearLayoutandroid:orientation"vertical" <!-- 排列方向&#xff1a;vertical/horizontal -->android:layout_width"match_parent"android:…

Redis的BigKey問題

Redis的BigKey問題 什么是大Key問題&#xff1f; 大key問題其實可以說是大value問題&#xff0c;就是某個key對應的value所占據的存儲空間太大了&#xff0c;所以導致我們在操作這個key的時候花費的時間過長&#xff08;序列化\反序列化&#xff09;&#xff0c;從而降低了redi…

TDengine IDMP 產品基本概念

基本概念 元素 (Element) IDMP 通過樹狀層次結構來組織數據&#xff0c;樹狀結構里的每個節點被稱之為元素 (Element)。元素是一個物理的或邏輯的實體。它可以是具體的物理設備&#xff08;比如一臺汽車&#xff09;&#xff0c;物理設備的一個子系統&#xff08;比如一臺汽車的…

專題二_滑動窗口_將x減到0的最小操作數

一&#xff1a;題目解釋&#xff1a;每次只能移除數組的邊界&#xff0c;移除的邊界的總和為x&#xff0c;要求返回你移除邊界的最小操作數&#xff01;也就是說你最少花幾次移除邊界&#xff0c;就能夠讓這些移除的邊界的和為x&#xff0c;則返回這個次數&#xff01;所以這個…

CentOS 7 下通過 Anaconda3 運行llm大模型、deepseek大模型的完整指南

CentOS 7 下通過 Anaconda3 運行llm大模型、deepseek大模型的完整指南A1 CentOS 7 下通過 Anaconda3 運行大模型的完整指南一、環境準備二、創建專用環境三、模型部署與運行四、優化配置常見問題解決B1 CentOS 7 下通過 Anaconda3 使用 CPU 運行 DeepSeek 大模型的完整方案一、…

Flutter應用在Windows 8上正常運行

要讓Flutter應用在Windows 8上正常運行,需滿足以下前提條件,涵蓋系統環境、依賴配置、編譯設置等關鍵環節: 一、系統環境基礎要求 Windows 8版本 必須是 Windows 8.1(核心支持),不支持早期Windows 8(需升級到8.1,微軟已停止對原版Windows 8的支持)。 確認系統版本:右…

Redis實現消息隊列三種方式

參考 Redis隊列詳解&#xff08;springboot實戰&#xff09;_redis 隊列-CSDN博客 前言 MQ消息隊列有很多種&#xff0c;比如RabbitMQ,RocketMQ,Kafka等&#xff0c;但是也可以基于redis來實現&#xff0c;可以降低系統的維護成本和實現復雜度&#xff0c;本篇介紹redis中實現…

【C++動態版本號生成方案:實現類似C# 1.0.* 的自動構建號】

C動態版本號生成方案&#xff1a;實現類似C# 1.0.* 的自動構建號 在C#中&#xff0c;1.0.*版本號格式會在編譯時自動生成構建號和修訂號。本文將介紹如何在C項目中實現類似功能&#xff0c;通過MSBuild自動化生成基于編譯時間的版本號。 實現原理 版本號構成&#xff1a;主版本…

【算法題】:斐波那契數列

用 JavaScript 實現一個 fibonacci 函數&#xff0c;滿足&#xff1a; 輸入 n&#xff08;從0開始計數&#xff09;輸出第 n 個斐波那契數&#xff08;斐波那契數列從 1 開始&#xff1a;1,1,2,3,5,8,13,21…&#xff09; 示例&#xff1a; fibonacci(0) > 1fibonacci(4) &g…