一、概述
Apache Atlas是一個開源的、可擴展的元數據管理和數據治理工具,主要用於數據源管理、知識圖譜建設、安全合規等方面。Apache Atlas提供了一個簡單易用的方式,幫助企業構建一個全面、一致和可跟蹤的數據平台。
二、核心功能
1.元數據管理
Apache Atlas提供了一種集中式的元數據管理機制,可以為用戶的數據建立全方位的元數據,包括數據信息、數據流程、數據生命周期、數據安全等。元數據的定義可自定義擴展,可以定義屬性、關係和對象的類型,為公司內部數據治理提供便利。
{
"guid": "ffe22627-e3ce-4b02-9b10-abb8652ab10e",
"typeName": "hive_column",
"attributes": {
"name": "user_name",
"qualifiedName": "default.user_table.user_name",
"position": 2,
"type": "string",
"unique": false
},
"createdBy": "admin",
"updatedBy": "admin",
}
2.活動跟蹤
Apache Atlas可以跟蹤數據和元數據的變化以及數據資產的使用情況,並且提供了強大的搜索功能以定位數據資產的位置和使用情況,數據的追蹤與審計功能的實現都有較好的支持。
{
"eventId": "d5487d38-3d9f-424e-ab7f-326bd077af8f",
"eventType": "ENTITY_UPDATE",
"eventKey": {
"guid": "23b0c94b-9864-4858-af7d-5e6e7a76d9dc",
"version": 1,
"keyType": "GUID"
},
"user": "admin",
"clientAddress": "0:0:0:0:0:0:0:1",
"timestamp": 1567164377464,
"details": {
"httpRemoteAddr": "0:0:0:0:0:0:0:1",
"httpUserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36",
"httpHeaders": {
"X-Forwarded-For": "10.11.18.251",
"Accept": "application/json",
"Host": "localhost:21000"
},
"updatedEntity": {
"typeName": "hive_table",
"attributes": {
"comment": null,
"owner": "admin1",
"name": "sample1",
"columns": []
}
},
"classificationNames": [],
"entityId": "23b0c94b-9864-4858-af7d-5e6e7a76d9dc",
"entityType": "hive_table"
}
}
3.數據標籤化
Apache Atlas還支持對象和數據的標記。將對象標記為“敏感”、“重要”、“公開”等標籤,有助於對整個數據資產的掌控和管理,並提供了基於標籤的身份驗證和表達式,方便用戶對數據資產進行更細粒度的授權和審批。
{
"typeName": "PII",
"superTypes": [
"DataSet"
],
"attributeDefinitions": [
{
"name": "classificationLabels",
"dataTypeName": "array",
"isComposite": false,
"multiplicity": {
"lower": 0,
"upper": 1
},
"isUnique": false,
"isIndexable": false
}
],
"options": {
"notInternal": false
},
"createdBy": null,
"updatedBy": null
}
三、使用方式
1.集成方式
Apache Atlas提供了豐富的RESTful API接口和Java Client SDK,可以方便地與其他數據系統集成,如Hadoop、Spark和NoSQL數據庫等。
AtlasClient atlasClient = new AtlasClient(new String[]{"http://localhost:21000"}, new String[]{"admin", "admin"});
List<AtlasEntity> results = atlasClient.searchEntities("column_type=\"string\"", 1, 10);
2.定製元數據類型
Apache Atlas提供了定義、擴展和定製元數據類型的功能,可通過Python腳本或RESTful API進行管理。個性化的元數據定義可以根據不同的業務需求進行自由擴展,提高元數據管理的有效性和精準度。
{
"classificationDefs": [
{
"name": "PII",
"superTypes": ["DataSet"],
"subTypes": [],
"attributeDefs": [
{
"name": "classificationLabels",
"type": "array",
"isOptional": true,
"cardinality": "SINGLE",
"valuesMinCount": 0,
"valuesMaxCount": 5,
"isUnique": false,
"isIndexable": false,
"defaultValue": null
}
],
"entityTypes": []
}
]
}
3.元數據管理組件
Apache Atlas提供了豐富的元數據管理功能,包括元數據創建、刪除、更新、搜索和導出等,為數據資產管理提供全面的支持。此外,還開發了標準的插件化接口,可支持不同的數據平台和數據系統。
public interface AtlasPlugin {
void start(final ServletContext context) throws AtlasPluginException;
void stop();
String getPluginName();
}
四、總結
Apache Atlas不僅提供了一個易於使用的元數據管理工具,還支持動態擴展和定製數據類型和元數據,同時支持多種集成方式和豐富的插件化接口。Apache Atlas有望成為企業數據管理和數據治理的領先平台。
原創文章,作者:EBPHA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/330451.html