共计 1510 个字符,预计需要花费 4 分钟才能阅读完成。
更多技术交换、求职机会,欢送关注字节跳动数据平台微信公众号,回复【1】进入官网交换群
数据起源广、量级大、场景多,导致数据之间关系变得异样简单。通过读取、荡涤、存储、计算等一系列流程之后,数据最终汇入指标、报表等服务零碎中。但如何对数据溯源、跟踪变动,成为困扰数据研发工程师的难题之一。
数据血统形容了数据的起源和去向,以及多个处理过程中的转换,是组织内使数据施展价值的重要根底能力。通过构建数据血统图谱,能够间接清晰地察看表之间的上、上游依赖关系,甚至是非凡场景下用户关注的表属性,更清晰查看数据链路和统计信息。
然而,要构建清晰、灵便、便当的数据血统图谱不是易事,特地是在数据量级大的状况下,往往面临层级关系简单、表工作凌乱、分组构造不分明的问题。
在字节跳动外部,有一套反对万级表血统的关系展现图谱每天被近万名员工应用,曾经积淀为火山引擎 DataLeap“数据地图”能力,并对外输入。
通过提供便捷的找数、了解数服务,火山引擎 DataLeap 大大节俭企业外部数据沟通和建设老本。
那么。这套图谱到底是如何设计和实现的?
首先,形象用户应用场景和需要。通过外部场景的深度用户调研,火山引擎 DataLeap 形象出如下需要:
- 表血缘关系查看: 能从图中分明浏览用户关注的表上、上游血缘关系,以及场景的表属性。
- 表血统链路查看: 能清晰查看某个上游 / 上游表到用户关注表的链路状况。
- 按要害指标分组查看: 例如当表数据产生变更时,分组查看所有上游表的负责人以便告诉变更。
- 筛选要害信息查看: 例如用户找数据指标的时候,仅看相干的报表更高效。
其次,在技术选型上,采纳 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 理解更多