更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

数据来源广、量级大、场景多,导致数据之间关系变得异常复杂。

经过读取、清洗、存储、计算等一系列流程之后,数据最终汇入指标、报表等服务系统中。但如何对数据溯源、跟踪变化,成为困扰数据研发工程师的难题之一。

数据血缘描述了数据的来源和去向,以及多个处理过程中的转换,是组织内使数据发挥价值的重要基础能力。通过构建数据血缘图谱,可以直接清晰地观察表之间的上、下游依赖关系,甚至是特殊场景下用户关注的表属性,更清晰查看数据链路和统计信息。

但是,要构建清晰、灵活、便利的数据血缘图谱不是易事,特别是在数据量级大的情况下,往往面临层级关系复杂、表任务混乱、分组结构不清楚的问题。

在字节跳动内部,有一套支持万级表血缘的关系展示图谱每天被近万名员工使用,已经沉淀为火山引擎 DataLeap“数据地图”能力,并对外输出。通过提供便捷的找数、理解数服务,火山引擎 DataLeap 大大节省企业内部数据沟通和建设成本。

那么。这套图谱究竟是如何设计和实现的?

首先,抽象用户使用场景和需求。经过内部场景的深度用户调研,火山引擎 DataLeap 抽象出如下需求:

  1. 表血缘关系查看:能从图中清楚浏览用户关注的表上、下游血缘关系,以及场景的表属性。

  2. 表血缘链路查看:能清晰查看某个上游/下游表到用户关注表的链路情况。

  3. 按关键指标分组查看:例如当表数据发生变更时,分组查看所有下游表的负责人以便通知变更。

  4. 筛选关键信息查看:例如用户找数据指标的时候,仅看相关的报表更高效。

其次,在技术选型上,采用 React + Canvas 的混合模式来实现血缘图谱。由于 Canvas 模拟滚动条研发成本高,与 HTML 相比,实现结构样式复杂的节点定制较复杂,但结合 React 框架渲染则可以轻松解决以上问题。因此,最终方案为:采用 Canvas 居于底部,仅负责画连线;React 负责渲染节点、响应 hover 等交互。

最后,在方案设计和实现上,主要从查看关系的效率和属性完备度两个角度出发,完善以下能力:

  • 为了解决数据量大情况下,数据关系不清晰的问题,火山引擎 DataLeap 支持点击任意节点,则高亮该节点到主节点的链路功能,并在列表顶部增加层级信息和节点统计,让用户能同时查看每个节点细节和节点整体分布。

  • 当用户找数、理解数或进行归因分析时,不仅要了解表的上游依赖,更需要理解表的加工逻辑。因此,火山引擎 DataLeap 在节点连线上新增任务信息,当用户 hover 连线即加粗、高亮并弹出任务信息,并匹配大数据开发平台对应的任务链接,点击即可跳转查看。

  • 在筛选功能上,火山引擎 DataLeap 采用服务端筛选,保证符合要求的数据全量展示。

  • 不同职能的用户在不同场景下使用血缘图谱时,关注的节点属性不相同。火山引擎 DataLeap 血缘图谱上设计了属性展示功能,用户可以勾选自己感兴趣的属性直接显示到图中。

据介绍,火山引擎 DataLeap 能帮助企业快速完成数据集成、开发、运维、治理、资产、安全等全套数据中台建设,其中数据地图主要提供数据检索、元数据详情查看、数据理解等功能,解决找数难、理解数据难的痛点,同时支持数据专题、血缘图谱、数据发现、库表管理等特色功能。

目前,火山引擎 DataLeap 的数据地图平台已接入全链路核心元数据,包括 LAS、MySQL、ByteHouse CE、ByteHouse CDW、TOS、LasFS、EMR hive 等,提供可视化的血缘关系展示能力,帮助用户全面的探查了解数据,支持表、字段级别血缘可视化查询,以及按层级、范围筛选展示,可根据用户需求灵活适配。

点击跳转 大数据研发治理套件 DataLeap 了解更多

听说火山引擎推出的 DataLeap,已经可以支持万级表的数据血缘图谱了!的更多相关文章

  1. 火山引擎 DataLeap 的 Data Catalog 系统公有云实践

      Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...

  2. 火山引擎DataLeap数据调度实例的 DAG 优化方案

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 实例 DAG 介绍 DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运维.治理.资产管理能力 ...

  3. 如何又快又好实现 Catalog 系统搜索能力?火山引擎 DataLeap 这样做

      摘要 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理.资产.安全等全套数据中台建设,降低工作成本和数据维护成本.挖掘数据价 ...

  4. 火山引擎 DataLeap:3 个关键步骤,复制字节跳动一站式数据治理经验

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,并进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维.治理. ...

  5. 火山引擎 DataLeap:揭秘字节跳动数据血缘架构演进之路

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap 是火山引擎数智平台 VeDI 旗下的大数据研发治理套件产品,帮助用户快速完成数据集成.开发.运维 ...

  6. 火山引擎 DataLeap:一家企业,数据体系要怎么搭建?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 导读:经过十多年的发展,数据治理在传统行业以及新兴互联网公司都已经产生落地实践.字节跳动也在探索一种分布式的数据治 ...

  7. 火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性

    通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%.大幅提升了用户体验,为飞书的 ...

  8. 还原火山引擎 A/B 测试产品——DataTester 私有化部署实践经验

      作为一款面向ToB市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路.   在面向ToB客户私有化的实际落地中,火 ...

  9. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  10. 火山引擎 A/B 测试产品——DataTester 私有化架构分享

    作为一款面向 ToB 市场的产品--火山引擎A/B测试(DataTester)为了满足客户对数据安全.合规问题等需求,探索私有化部署是产品无法绕开的一条路. 在面向 ToB 客户私有化的实际落地中,火 ...

随机推荐

  1. form表单调接口校验 比如后台验证用户名是否存在

    <FormItem {...formItemLayout} label={'显示名'}> {getFieldDecorator('displayName', { initialValue: ...

  2. HarmonyOS应用开发

    引言 本章将深入探讨 HarmonyOS 应用开发的关键方面,包括应用的生命周期.数据存储和网络访问.了解这些内容对于创建功能丰富.高效的 HarmonyOS 应用至关重要. 目录 HarmonyOS ...

  3. 浏览器事件循环Event Loop

    引言: 事件循环不是浏览器独有的,从字面上看,"循环"可以简单地认为就是重复,比如for循环,就是重复地执行for循环体中的语句,所以事件循环,可以理解为重复地处理事件,那么下一个 ...

  4. 矩阵重叠 (3.18 leetcode每日打卡)

    度简单66收藏分享切换为英文关注反馈矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标. 如果相交的面积为正,则称两矩形 ...

  5. Postgresql——jsonb类型

    Postgresql Json 最近有个功能,需要用到 NoSQL 数据库.但是又不想因为这个小小的功能给系统增加一个 MongoDB 数据库,于是就想到了 Postgresql 支持 JSON 类型 ...

  6. 函数计算的新征程:使用 Laf 构建 AI 知识库

    Laf 已成功上架 Sealos 模板市场,可通过 Laf 应用模板来一键部署! 这意味着 Laf 在私有化部署上的扩展性得到了极大的提升. Sealos 作为一个功能强大的云操作系统,能够秒级创建多 ...

  7. 解决IDEA加载maven工程缓慢

    如图,哪里没有加哪里 -DarchetypeCatalog=internal

  8. MybatisPlus条件查询方法全解

    1.是什么? MybatisPlus通过条件构造器可以组装复杂的查询条件,写一些复杂的SQL语句,从而简化我们的开发提升我们的开发效率 # 可以简单的理解为就是我们写SQL语句时where后面的条件 ...

  9. matlab 2018b 下载链接

    matlab 2018b 功能强大下载地址为 https://pan.baidu.com/s/1QZO35BtzcIkh_yPYRIGVWg

  10. Golang实现JAVA虚拟机-运行时数据区

    原文链接:https://gaoyubo.cn/blogs/8ae1f4ca.html 前置 Golang实现JAVA虚拟机-解析class文件 一.运行时数据区概述 JVM学习: JVM-运行时数据 ...