1. 引言
笔者接下来准备开发大数据平台(XSailboat)中的数据资产目录(SailCatalog)和数据地图(SailMap)相关的功能,本文用以记录笔者关于此部分功能的概念梳理和主体功能设计。
2. 概念梳理
数据资产目录,含义是使用业务中的概念和名词,建立合适的分类目录结构,对平台中的数据集合进行分类索引。这里的数据集合包括数据库表、视图,Kafka中的主题,文件系统服务中的数据文件,数据服务接口,指标的定义及所对应的接口和数据等。
数据地图,含义是将平台中的数据集合(含义同上,主体是数据库表)以关联关系或血缘关系联系起来,这种关联关系平铺开来,就像一个地图一样。
数据资产目录是以分类目录的形式在竖直方向上分类索引数据集合,而数据地图是从水平方向上构建出数据集合之间的关联关系和血缘关系,它们从两个不同维度上去索引数据集合,形成一种互补关系。
3. 功能设计
因数据资产目录和数据地图的这种互补关系,虽然在大数据平台中将它们分成了两个功能模块,但它们是存在很多相同的功能点和重用的组件的。
3.1 数据资产目录
功能列表:
- 从平台定义的数据源列表中选择一些数据源,纳入到数据资产管理目录中。后续还可增减。
- 应用会扫描这些数据源,列出数据集合,信息列至少包含:数据源名称(表名,主题名、相对路径等),数据源类型,数据集合名称,数据集合类型,数据规模(可能为空),数据资产目录路径(没有纳入到数据资产目录的数据集合为空)。此处可以设置修改数据集合的数据资产目录路径。
- 数据集合的全名格式:“数据源名词.数据集合名称”
- 数据资产目录视图。左侧资产目录树,右侧面板显示数据集合的基本信息,支持查看数据集合的数据。数据集是叶子节点,不同类型的数据集用不同的图标。
资产目录举例:
- 模型台账
- 设备台账
- 数据源A.数据集名称1
- 测点
- 空间模型
- 设备台账
- 活动记录
- EventLog/SOE
- 开关量历史数据
- 模拟量历史数据
- 数据分析
- 分析项目1
- XXX分析
- 分析项目1
- 业务指标
- 指标视图树
2024-01补充
- 首页。下面的指标图板块:
- 资产类目。资产大类统计(饼图),支持钻取,看大类下面的子类占比。资产条目数量。最近一星期增加的资产条目数量。点击可以查看历史曲线。滚动播报最新的10条资产条目及创建时间,点击可跳转到资产目录。
- 资产规模。最近一次计算的资产的总体存储容量。资产存储容量的变化曲线,以星期为单位。昨天的资产增长量。当前各大类资产的存储容量占比(饼图),支持钻取,查看大类下面子类的占比。
- 资产收益。资产用户数。资产对外共享的方式有三种:1.API、2.Kafka、3.数据推送。资产可以绑定API,获得API的调用次数和流量。Kafka,采集每分钟采集一次Byte out to client指标,然后做积分。数据推送,推送出去的数据量,由数据推送任务采集并存储。提供一个直至当前的对外提供的数据量的累积值,提供当年的对外提供的数据量的累积值。支持以星期为单位,查看当年的对外提供的数据量。
- 资产管理。数据备份任务数、数据清理任务数、数据发布任务数。以及它们各项的最近48小时的失败次数/执行成功次数,当天执行计划的完成百分比。点击失败/成功次数可以查看最近48小时的各次执行时间、执行结果。
- 资产目录。管理资产目录树。新建资产分类,新建资产条目。新建资产条目的时候,选择数据源,数据源类型可以是Kafka主题、数据库表、文件系统文件。对于Kafka主题和CSV格式文件,可以设定表模式,定义字段,字段名,字段含义,字段类型。资产条目上可以绑定定时动作。定时动作🈶3种类型:资产备份、资产清理,资产推送,这些定时动作均有XTaskWorks提供,资产目录模块调用XTaskWorks接口生成并部署相关任务。提供立即计算资产条目规模的按钮。系统每天都会计算资产条目规模。资产条目可以绑定API网关上资产发布相关的API。
- 资产定义。资产目录是在资产目录上选择数据,而资产定义是先选择数据源,在数据源中快速选择表、文件、或主题,生成资产条目。挂接到资产目录下。
- 管理任务。表格,总览资产上绑定的定时动作,查看调度计划,最近一次的执行结果,下次的计划时间等。查看某个定时动作的执行历史。
3.2 数据地图
功能列表:
- 数据地图采用从一个或多个数据集合出发,采用主动沿着关系逐层探索展开的方式,向用户呈现关系图。
- 支持服务端计算两个数据集之间的所有关系路径,并呈现这些路径。
- 支持主动创建两个数据集合之间的关系(关联/血缘)。手动创建的关系与自动解析出的关系在图上用不同颜色表示,手动创建的关系,支持删除。
- 数据集合在图上可以点击,查看它的基本信息和数据。
4. 当前大数据平台对相关功能的支持
- 平台的数据集成模块已经有数据源的定义,其它模块数据数据源定义都使用此模块定义,为平台共享。
- 数据集成中包含有各种数据源的数据查查看能力。数据集合基本信息和数据查看可以借鉴,接口是可重用的。
- 小蝴蝶的开发经验,对地图可视化亦不存在技术困难。