更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【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. Util应用框架核心(三) - 服务注册器

    本节介绍服务注册器的开发. 如果你不需要扩展Util应用框架,直接跳过. 当你把某些功能封装到自己的类库,并希望启动时自动执行初始化代码进行配置时,定义服务注册器. 服务注册器概述 服务注册器是Uti ...

  2. Java技术_基础技术(0003)_类执行顺序详解+实例(阿里面试题)+详细讲解+流程图

    类加载机制 加载.验证.准备.初始化和卸载这5个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始,而解析阶段则不一定:它在某些情况下可以在初始化阶段之后再开始,这是为了支持Java语言的 ...

  3. go 中如何实现定时任务

    定时任务简介 定时任务是指按照预定的时间间隔或特定时间点自动执行的计划任务或操作.这些任务通常用于自动化重复性的工作,以减轻人工操作的负担,提高效率.在计算机编程和应用程序开发中,定时任务是一种常见的 ...

  4. 29. 干货系列从零用Rust编写正反向代理,异步回调(async trait)的使用

    wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...

  5. 黑客玩具入门——5、继续Metasploit

    1.利用FTP漏洞并植入后门 实验靶机:Metasploitable2. 实践: 使用nmap扫描目标靶机 nmap -sV xxx.xxx.xxx.xxx(目标ip) 生成linux系统后门 msf ...

  6. 吉特日化MES实施--三种浪费

    在实施吉特日化MES系统的过程中,遇到各种问题,包括自身问题以及甲方问题,导致项目滞后延期的主要问题分析,汇总三种浪费: (1)  信息传递的浪费: 这个在甲方产品设计以及生产过程中出现的问题,也是我 ...

  7. LR(1)分析法

    SLR(1)方法的出现,解决了大部分的移进和规约冲突.规约和规约的冲突.并且SLR(1)其优点是状态数目少,造表算法简单,大多数程序设计语言基本上都可用SLR(1)文法来描述. 但是仍然有一些文法,不 ...

  8. React Hook 之 Effect :同步与外部系统的数据

    有时组件中的数据需要与外部系统的数据或操作同步,React提供了Hook Effect. Effect 会在组件渲染后运行一些代码,以便将组件与 React 之外的某些系统同步,包比如浏览器 API. ...

  9. 基于Docker 部署 Seafile+OnlyOffice+Wiki插件

    原文:基于 Docker 部署 SeafilePro + OnlyOffice(CentOS版) 官方文档:用 Docker 部署 Seafile 服务 CentOS 服务器 基于 Docker 部署 ...

  10. 部署堡垒机4——CentOS7 编译安装 Python 3.8.12

    1.去python3的官方网站下载源代码 https://www.python.org/downloads/ 下载安装Python 3.8.12到/opt/python3 cd /opt wget h ...