热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

当Atlas遇见Flink——ApacheAtlas2.2.0发布!

距离上次atlas发布新版本已经有一年的时间了,但是这一年元数据管理平台的发展一直没有停止。Datahub,Amundsen等等,都在不断的更新着自己的版本。但是似乎Atlas在元

当Atlas遇见Flink——Apache Atlas 2.2.0发布!

距离上次atlas发布新版本已经有一年的时间了,但是这一年元数据管理平台的发展一直没有停止。Datahub,Amundsen等等,都在不断的更新着自己的版本。但是似乎Atlas在元数据管理,数据血缘领域的地位一直没有动摇。

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

当Atlas遇见Flink——Apache 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",
          "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",
          "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也在持续的推进:

当Atlas遇见Flink——Apache Atlas 2.2.0发布!

感兴趣的同学可以关注 Flink-6757 关注最新的进展,相信很快就会有新的消息了。

当Atlas遇见Flink——Apache Atlas 2.2.0发布!

Apache的一些计划

当Atlas遇见Flink——Apache Atlas 2.2.0发布!
当Atlas遇见Flink——Apache Atlas 2.2.0发布!

当Atlas遇见Flink——Apache Atlas 2.2.0发布!


推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 判断数组是否全为0_连续子数组的最大和的解题思路及代码方法一_动态规划
    本文介绍了判断数组是否全为0以及求解连续子数组的最大和的解题思路及代码方法一,即动态规划。通过动态规划的方法,可以找出连续子数组的最大和,具体思路是尽量选择正数的部分,遇到负数则不选择进去,遇到正数则保留并继续考察。本文给出了状态定义和状态转移方程,并提供了具体的代码实现。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 摘要1:ElasticSearch比较两个时间的大小_gaojie_csdn的博客-CSDN博客_es时间比较摘要2:zlasticsearch脚本教 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • ElasticSearch成功安装完毕。 测试数据添加出现{  error:{    root_cause ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
  • quartus管脚分配后需要保存吗_嵌入式必须会的一些硬件面试题,要试一试吗?你过来呀!...
    1、下面是一些基本的数字电路知识问题,请简要回答之。(1)什么是Setup和Hold时间?答:SetupHoldTime用于测试芯片对输入 ... [详细]
author-avatar
谜乱凡_134
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有