文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。
Apache Atlas 框架是一套可擴展的核心基礎治理服務,使企業能夠有效、高效地滿足 Hadoop 中的合規性要求,并支持與整個企業數據生態系統集成。這將通過使用規范和取證模型,以及技術和運營審計以及由業務分類元數據豐富的沿襲,在 Hadoop 中提供真正的可視性。它還使任何元數據使用者能夠互操作,而無需彼此獨立的接口——元數據存儲是通用的。通過利用 Apache Ranger 來維護元數據的準確性,以防止在運行時對數據進行未經授權的訪問。安全性基于角色 (RBAC) 和屬性 (ABAC)。
通知
Notifications
Apache Atlas 的通知
Apache Atlas 會將關于元數據變更的通知發送到名為 ATLAS_ENTITIES 的 Kafka topic。
對元數據變更感興趣的應用程序可以監聽這些通知。
例如,Apache Ranger 會處理這些通知,以便根據分類來授權數據訪問。
通知 - V2:Apache Atlas 1.0 版本
Apache Atlas 1.0 針對以下元數據操作發送通知。
ENTITY_CREATE: 當創建實體實例時發送
ENTITY_UPDATE: 當更新實體實例時發送
ENTITY_DELETE: 當刪除實體實例時發送
CLASSIFICATION_ADD: 當向實體實例添加分類時發送
CLASSIFICATION_UPDATE: 當更新實體實例的分類時發送
CLASSIFICATION_DELETE: 當從實體實例移除分類時發送
通知包含以下數據。
AtlasEntity entity;
OperationType operationType;
List<AtlasClassification> classifications;
通知 - V1:Apache Atlas 0.8.x 及更早版本
來自 Apache Atlas 0.8.x 及更早版本的通知,其內容格式有所不同,詳情如下。
操作
ENTITY_CREATE: 當創建實體實例時發送
ENTITY_UPDATE: 當更新實體實例時發送
ENTITY_DELETE: 當刪除實體實例時發送
TRAIT_ADD: 當向實體實例添加分類時發送
TRAIT_UPDATE: 當更新實體實例的分類時發送
TRAIT_DELETE: 當從實體實例移除分類時發送
通知包含以下數據。
Referenceable entity;
OperationType operationType;
List<Struct> traits;
Apache Atlas 1.0 可以配置為以舊版本格式發送通知,而非最新版本格式。
這對于尚未準備好處理最新版本格式通知的部署環境會很有幫助。
要將 Apache Atlas 1.0 配置為以早期版本格式發送通知,請在 atlas-application.properties 中設置以下配置:
atlas.notification.entity.version=v1
發送到 Apache Atlas 的通知
Apache Atlas 可通過向名為 ATLAS_HOOK 的 Kafka topic 發送通知,來接收元數據變更和血緣信息。
Apache Hive / Apache HBase / Apache Storm / Apache Sqoop 的 Atlas hook 使用此機制,將感興趣的事件通知給 Apache Atlas。
ENTITY_CREATE : 創建一個實體。更多詳情請參考 Java 類 HookNotificationV1.EntityCreateRequest
ENTITY_FULL_UPDATE : 更新一個實體。更多詳情請參考 Java 類 HookNotificationV1.EntityUpdateRequest
ENTITY_PARTIAL_UPDATE : 更新實體的特定屬性。更多詳情請參考 HookNotificationV1.EntityPartialUpdateRequest
ENTITY_DELETE : 刪除一個實體。更多詳情請參考 Java 類 HookNotificationV1.EntityDeleteRequest
ENTITY_CREATE_V2 : 創建一個實體。更多詳情請參考 Java 類 HookNotification.EntityCreateRequestV2
ENTITY_FULL_UPDATE_V2 : 更新一個實體。更多詳情請參考 Java 類 HookNotification.EntityUpdateRequestV2
ENTITY_PARTIAL_UPDATE_V2 : 更新實體的特定屬性。更多詳情請參考 HookNotification.EntityPartialUpdateRequestV2
ENTITY_DELETE_V2 : 刪除一個或多個實體。更多詳情請參考 Java 類 HookNotification.EntityDeleteRequestV2
業務元數據
Business Metadata
概述
Atlas 類型系統允許用戶為想要管理的元數據對象定義模型并創建實體。通常,該模型會捕獲技術屬性——如名稱、描述、創建時間、副本數量等;元數據對象由監控真實對象的流程創建和更新。通常有必要用附加屬性擴充技術屬性,以捕獲有助于組織、搜索和管理元數據實體的業務細節。例如,來自營銷部門的管理員可以為活動定義一組屬性,并將這些屬性添加到相關的元數據對象中。
創建業務元數據
業務元數據是 Atlas 類型系統支持的一種類型——類似于 entity、enum、struct、classification 類型。業務元數據類型可以具有原始類型的屬性——類似于 struct 類型。此外,每個業務元數據屬性可以與多個 entity-type 關聯,如 hive_db/hive_table/hbase_table。
在實體實例上添加業務屬性
一旦業務元數據屬性與 entity-type 關聯,Apache Atlas 即可通過 UI 和 REST API 為實體賦值。
使用業務屬性搜索實體
Apache Atlas 支持基于業務屬性值查找實體——可通過 UI 和 REST API 實現。
授權
Apache Atlas 的授權機制已更新,可控制誰可以創建業務元數據并在實體上更新業務屬性。Apache Ranger 授權插件已更新,以支持針對這些操作的策略。
REST API
Apache Atlas 提供 REST API,用于創建和更新業務元數據、在實體上添加/更新業務屬性,以及基于業務實體屬性查找實體。有關更多詳細信息,請參閱 REST API 文檔。
風險提示與免責聲明
本文內容基于公開信息研究整理,不構成任何形式的投資建議。歷史表現不應作為未來收益保證,市場存在不可預見的波動風險。投資者需結合自身財務狀況及風險承受能力獨立決策,并自行承擔交易結果。作者及發布方不對任何依據本文操作導致的損失承擔法律責任。市場有風險,投資須謹慎。