间隔上次atlas公布新版本曾经有一年的工夫了,然而这一年元数据管理平台的倒退始终没有进行。Datahub,Amundsen等等,都在一直的更新着本人的版本。然而仿佛Atlas在元数据管理,数据血统畛域的位置始终没有波动。

最近Atlas终于迎来又一次大的更新,公布了全新的2.2.0版本。

更多Atlas,数据治理相干技术分享,请关注 大数据流动

首先来理解一下这个版本。

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的一些打算


本文由博客一文多发平台 OpenWrite 公布!