當Atlas遇見Flink——Apache Atlas 2.2.0釋出!
阿新 • • 發佈:2021-08-24
距離上次atlas釋出新版本已經有一年的時間了,但是這一年元資料管理平臺的發展一直沒有停止。Datahub,Amundsen等等,都在不斷的更新著自己的版本。但是似乎Atlas在元資料管理,資料血緣領域的地位一直沒有動搖。
最近Atlas終於迎來又一次大的更新,釋出了全新的2.2.0版本。
首先來了解一下這個版本。
Apache Atlas 2.2 有哪些新功能?
- 分類傳播任務: 分類傳播將作為後臺任務處理 (AtlasTask)
- 重新索引:新增重新索引作為 JAVA_PATCH 的一部分
- 模型更改:建立 JAVA_PATCH 以向現有實體新增新的父型別
- 匯出服務:在 Atlas 匯出 API 中添加了對業務元資料的支援
- Admin/AtlasTask API: 添加了對 admin/task API 的 HA 支援
- 實體定義:提供了向已存在實體定義新增強制性屬性
增強功能
- DSL 搜尋:添加了對詞彙表術語和關係的支援,添加了對空屬性值的支援,現在使用 Tinkerpop GraphTraversal 而不是 GremlinScriptEngine 來提高效能,添加了快取機制來支援 DSL
- Atlas Python 客戶端:重構和增強的 Atlas Python 客戶端,支援 Python 2.7
- 搜尋:更新了自由文字搜尋處理器以支援 Elasticsearch,支援帶有特殊字元的搜尋文字,優化分頁
- 批量詞彙表匯入
- 效能:提高了 GraphHelper 的 guid 和 status getter 方法的效能
- 授權:增強 Atlas 授權,用於新增/更新/刪除實體分類,“admin-audits”用於 Atlas Admin Audits 授權
- 通知:改進了 NotificationHookConsumer, 用於大訊息的處理
- 匯出/匯入服務:增強的匯出/匯入服務以有條件地支援同步操作和匯出條款
- Hive Hook:添加了對 HiveServer2 Hook 的支援
- Apache Flink:引入模型來捕獲 Apache Flink 實體和關係
- GCP:引入模型來捕獲 GCP 實體和關係
- 依賴升級:JanusGraph、elasticsearch、JQuery、Http core、Http Client、slf4j、log4j、ant、gremlin、Solr、groovy、netty、Kafka
- UI:修復了 Atlas Web UI 的一些問題,提高了大量分類和實體的情況下的載入速度
- Docker 映象:增強了對 Docker 的支援
遇見Flink
Apache Flink:引入模型來捕獲 Apache Flink 實體和關係
也就是說目前Atlas已經預設增加Flink可以接受Flink的元資料了,但是Flink並沒有公佈對atlas的支援,捕獲併發送元資料這部分還是需要做一些的工作。
Atlas定義的Flink實體:
{
"entityDefs": [
{
"name": "flink_application",
"superTypes": [
"Process"
],
"serviceType": "flink",
"typeVersion": "1.0",
"attributeDefs": [
{
"name": "id",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": false,
"isUnique": true
},
{
"name": "startTime",
"typeName": "date",
"cardinality": "SINGLE",
"isIndexable": false,
"isOptional": true,
"isUnique": false
},
{
"name": "endTime",
"typeName": "date",
"cardinality": "SINGLE",
"isIndexable": false,
"isOptional": true,
"isUnique": false
},
{
"name": "conf",
"typeName": "map<string,string>",
"cardinality": "SINGLE",
"isIndexable": false,
"isOptional": true,
"isUnique": false
}
]
},
{
"name": "flink_process",
"superTypes": [
"Process"
],
"serviceType": "flink",
"typeVersion": "1.0",
"attributeDefs": [
{
"name": "id",
"typeName": "string",
"cardinality": "SINGLE",
"isIndexable": true,
"isOptional": false,
"isUnique": true
},
{
"name": "startTime",
"typeName": "date",
"cardinality": "SINGLE",
"isIndexable": false,
"isOptional": true,
"isUnique": false
},
{
"name": "endTime",
"typeName": "date",
"cardinality": "SINGLE",
"isIndexable": false,
"isOptional": true,
"isUnique": false
},
{
"name": "conf",
"typeName": "map<string,string>",
"cardinality": "SINGLE",
"isIndexable": false,
"isOptional": true,
"isUnique": false
}
]
},
{
"name": "flink_application_processes",
"serviceType": "flink",
"typeVersion": "1.0",
"relationshipCategory": "AGGREGATION",
"endDef1": {
"type": "flink_application",
"name": "processes",
"cardinality": "SET",
"isContainer": true
},
"endDef2": {
"type": "flink_process",
"name": "application",
"cardinality": "SINGLE"
},
"propagateTags": "NONE"
}
]
}'
當然Apache也在持續的推進:
感興趣的同學可以關注 Flink-6757 關注最新的進展,相信很快就會有新的訊息了。
Apache的一些計劃