zoukankan      html  css  js  c++  java
  • 当Atlas遇见Flink——Apache Atlas 2.2.0发布!

    距离上次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 的支持

    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的一些计划


    大数据流动 专注于大数据实时计算,数据治理,数据可视化等技术分享与实践。 请在后台回复关键字下载相关资料。相关学习交流群已经成立,欢迎加入~
  • 相关阅读:
    pat甲级 1155 Heap Paths (30 分)
    pat甲级 1152 Google Recruitment (20 分)
    蓝桥杯 基础练习 特殊回文数
    蓝桥杯 基础练习 十进制转十六进制
    蓝桥杯 基础练习 十六进制转十进制
    蓝桥杯 基础练习 十六进制转八进制
    51nod 1347 旋转字符串
    蓝桥杯 入门训练 圆的面积
    蓝桥杯 入门训练 Fibonacci数列
    链表相关
  • 原文地址:https://www.cnblogs.com/tree1123/p/15178770.html
Copyright © 2011-2022 走看看