文中內容僅限技術學習與代碼實踐參考,市場存在不確定性,技術分析需謹慎驗證,不構成任何投資建議。
Apache Atlas 框架是一套可擴展的核心基礎治理服務,使企業能夠有效、高效地滿足 Hadoop 中的合規性要求,并支持與整個企業數據生態系統集成。這將通過使用規范和取證模型,以及技術和運營審計以及由業務分類元數據豐富的沿襲,在 Hadoop 中提供真正的可視性。它還使任何元數據使用者能夠互操作,而無需彼此獨立的接口——元數據存儲是通用的。通過利用 Apache Ranger 來維護元數據的準確性,以防止在運行時對數據進行未經授權的訪問。安全性基于角色 (RBAC) 和屬性 (ABAC)。
基本搜索
Basic Search
基本搜索允許你使用實體的 typename、關聯的 classification/tag 進行查詢,并支持對實體屬性以及 classification/tag 屬性進行過濾。
整個查詢結構可以用以下 JSON 結構(稱為 SearchParameters)表示
{"typeName": "hive_column","excludeDeletedEntities": true,"classification": "PII","query": "","offset": 0,"limit": 25,"entityFilters": { },"tagFilters": { },"attributes": [ "table", "qualifiedName"]
}
字段說明
typeName: 要查找的實體類型
excludeDeletedEntities: 搜索是否應排除已刪除的實體?(默認值:true)
classification: 僅包含具有給定 classification 的實體
query: 實體應包含的任意自由文本(通用/通配符查詢可能較慢)
offset: 結果集的起始偏移量(用于分頁)
limit: 要獲取的最大結果數
entityFilters: 實體屬性過濾條件
tagFilters: classification 屬性過濾條件
attributes: 要在搜索結果中包含的屬性
屬性過濾支持對多個屬性進行 AND/OR 條件組合。
過濾示例(針對 hive_table 屬性)
- 單屬性
{"typeName": "hive_table","excludeDeletedEntities": true,"offset": 0,"limit": 25,"entityFilters": {"attributeName": "name","operator": "contains","attributeValue": "customers"},"attributes": [ "db", "qualifiedName" ]}
- 多屬性 OR
{"typeName": "hive_table","excludeDeletedEntities": true,"offset": 0,"limit": 25,"entityFilters": {"condition": "OR","criterion": [{"attributeName": "name","operator": "contains","attributeValue": "customers"},{"attributeName": "name","operator": "contains","attributeValue": "provider"}]},"attributes": [ "db", "qualifiedName" ]}
- 多屬性 AND
{"typeName": "hive_table","excludeDeletedEntities": true,"offset": 0,"limit": 25,"entityFilters": {"condition": "AND","criterion": [{"attributeName": "name","operator": "contains","attributeValue": "customers"},{"attributeName": "owner","operator": "eq","attributeValue": "hive"}]},"attributes": [ "db", "qualifiedName" ]}
支持的過濾運算符
- LT(符號:<, lt)適用于數值、日期屬性
- GT(符號:>, gt)適用于數值、日期屬性
- LTE(符號:<=, lte)適用于數值、日期屬性
- GTE(符號:>=, gte)適用于數值、日期屬性
- EQ(符號:eq, =)適用于數值、日期、字符串屬性
- NEQ(符號:neq, !=)適用于數值、日期、字符串屬性
- LIKE(符號:like, LIKE)適用于字符串屬性
- STARTS_WITH(符號:startsWith, STARTSWITH)適用于字符串屬性
- ENDS_WITH(符號:endsWith, ENDSWITH)適用于字符串屬性
- CONTAINS(符號:contains, CONTAINS)適用于字符串屬性
CURL 示例
curl -sivk -g-u <user>:<password>-X POST-d '{"typeName": "hive_table","excludeDeletedEntities": true,"classification": "","query": "","offset": 0,"limit": 50,"entityFilters": {"condition": "AND","criterion": [{"attributeName": "name","operator": "contains","attributeValue": "customers"},{"attributeName": "owner","operator": "eq","attributeValue": "hive"}]},"attributes": [ "db", "qualifiedName" ]}'<protocol>://<atlas_host>:<atlas_port>/api/atlas/v2/search/basic
Apache Atlas 概覽
Apache Atlas 是一套可擴展且可延伸的核心基礎治理服務——使企業能夠在 Hadoop 中高效且有效地滿足其合規要求,并允許與整個企業數據生態系統進行集成。
Apache Atlas 為組織提供開放的元數據管理和治理能力,用于構建其數據資產目錄,對這些資產進行分類和治理,并為數據科學家、分析師和數據治理團隊提供圍繞這些數據資產的協作能力。
特性
元數據類型與實例
- 為各種 Hadoop 和非 Hadoop 元數據預定義類型
- 具備為待管理元數據定義新類型的能力
- 類型可包含原始屬性、復雜屬性、對象引用;可從其他類型繼承
- 類型的實例(稱為實體)捕獲元數據對象詳情及其關系
- 提供 REST API 以便更輕松地與類型和實例進行集成
分類
- 具備動態創建分類的能力——例如 PII、EXPIRES_ON、DATA_QUALITY、SENSITIVE
- 分類可包含屬性——例如在 EXPIRES_ON 分類中的 expiry_date 屬性
- 實體可與多個分類關聯,便于發現和安全策略執行
- 通過血緣關系傳播分類——自動確保分類隨數據在各種處理過程中流轉
血緣
- 直觀的 UI 查看數據在各類流程中的血緣
- 提供 REST API 以訪問和更新血緣信息
搜索/發現
- 直觀的 UI 按類型、分類、屬性值或自由文本搜索實體
- 豐富的 REST API 以復雜條件進行搜索
- SQL 風格的實體查詢語言——領域特定語言(DSL)
安全與數據脫敏
- 針對元數據訪問的細粒度安全控制,可對實體實例及添加/更新/移除分類等操作進行權限管控
- 與 Apache Ranger 集成,可根據 Apache Atlas 中實體關聯的分類進行基于授權的訪問控制/數據脫敏。例如:
- 誰能訪問被分類為 PII、SENSITIVE 的數據
- 客戶服務用戶僅能看到被分類為 NATIONAL_ID 的列的最后四位
快速開始
- Apache Atlas 2.4 的新功能
- 構建與安裝
- 快速入門
API 文檔
- REST API 文檔
- 導出與導入 REST API 文檔
- 舊版 API 文檔
開發者設置文檔
- 開發者設置:Eclipse
風險提示與免責聲明
本文內容基于公開信息研究整理,不構成任何形式的投資建議。歷史表現不應作為未來收益保證,市場存在不可預見的波動風險。投資者需結合自身財務狀況及風險承受能力獨立決策,并自行承擔交易結果。作者及發布方不對任何依據本文操作導致的損失承擔法律責任。市場有風險,投資須謹慎。