基于 Flink 的原子指标计算实践 —— qData 数据中台商业版 · 指标平台

42 阅读5分钟

指标平台是数据中台向业务输出价值的关键能力之一。
在 qData 数据中台商业版产品生态圈中,指标平台通过对原子指标、派生指标的统一管理,实现了指标的标准化定义、自动化计算与可持续治理

本文将围绕指标平台中的原子指标计算实现方案,系统性介绍其业务目标、技术架构与核心实现细节。

一、业务需求

围绕原子指标计算能力,指标平台需要满足以下核心业务需求:

1、指标规则配置并自动生成 SQL

通过配置化方式定义指标的计算规则,系统自动生成可执行 SQL,避免人工编写带来的口径不一致问题。

2、支持 1000 条数据试计算

在指标正式运行前,支持基于真实数据的小规模试算,用于快速验证指标逻辑与统计口径。

3、支持指标实时计算

满足实时分析、实时监控等业务场景,对指标数据进行实时计算与输出。

4、支持指标离散计算并进行存储

针对周期性统计场景,支持按调度周期进行离线计算,并将结果持久化存储。

5、适配主流数据库环境

指标平台需兼容多种数据库,包括 MySQL、DM8、Doris 等。

二、技术框架选型

1、计算与调度引擎选型

指标平台统一采用 Flink 作为计算与调度引擎。

  • (1)支持流式与批式统一计算模型
  • (2)SQL 能力成熟,适合规则化生成
  • (3)数据处理性能高,满足实时与离线场景需求

2、数仓架构选型

指标结果统一落地至 Doris 构建分析型数仓。

  • (1)面向分析型场景,查询性能优异
  • (2)适合大规模指标数据存储
  • (3)与 Flink 集成成熟,写入与查询效率高

三、原子指标计算整体流程

在这里插入图片描述

1、指标规则配置

系统首先对原子指标进行基础信息配置,包括:

  • (1)度量字段
  • (2)计算逻辑
  • (3)数据格式
  • (4)维度信息
  • (5)数据筛选条件

2、规则转化为 Flink SQL

系统根据指标配置规则,自动生成 Flink 可执行 SQL,确保规则定义与执行逻辑一致。

3、试计算判断

  • (1)若为试计算模式
  • (2)系统自动追加近 1000 条数据的筛选条件
  • (3)快速返回计算结果,用于指标校验

4、实时与离线计算判断

  • (1)实时计算:直接触发 Flink 实时任务
  • (2)非实时计算:由后台调度器按配置周期定时执行

5、统一计算执行

无论实时还是离线计算,指标计算流程统一通过 Flink 执行,避免多套计算逻辑并存。

6、计算结果后处理

Flink 计算完成后,结果统一交由后端进行二次处理:

  • (1)维值函数结果整理
  • (2)数据结构封装
  • (3)结果返回前端或进入存储流程

7、离线结果持久化

针对离线计算场景,计算结果需额外进行持久化存储,供后续分析与复用。

四、原子指标计算具体实现方案

1、SQL 自动拼接机制

(1)关联查询

根据数据模型定义,将事实表与对应的维度表进行自动关联查询。

【】 在这里插入图片描述

(2)聚合函数配置

通过原子指标计算逻辑配置,自动生成对应的聚合函数。

在这里插入图片描述

(3)统计字段配置

明确原子指标的度量字段,作为最终统计对象。

在这里插入图片描述

(4)分组字段配置

分组字段仅支持模型结构中定义的维度类型字段和时间类型字段。

在这里插入图片描述

(5)数据筛选条件解析

支持交集、并集等多种筛选方式,通过解析 JSON 规则动态生成 WHERE 条件。

【】

(6)生成 SQL 明细解析 系统支持对最终生成的 SQL 明细进行展示,便于排查与维护。

2、任务调度机制

  • (1)配置指标调度周期
  • (2)调度器按周期自动触发 Flink 任务执行

3、指标结果数据结构规范

(1)表生成规则 每一个原子指标最终只生成一张结果表。

(2)表名定义规则

数仓层级 + 指标域代码 + 指标代码  
示例:ads_water_order

(3)表结构定义

字段示例: id、维度1主键、维度1主键名称、维度2主键、维度2主键名称、指标代码

(4)数据含义说明

  • 指标代码字段存储具体统计结果
  • 维度主键来源于维度表中的维键数据
  • 未配置维度时,最终结果为单值指标

4、离线指标数据存储流程

离线计算采用全量重建策略:

  • (1)删除已存在的指标结果表
  • (2)按规则重新建表
  • (3)执行计算结果插入

五、总结

通过该原子指标计算方案,qData 数据中台商业版指标平台实现了:

  1. 指标规则配置化

  2. 指标计算引擎化

  3. 实时与离线统一执行

  4. 指标结果规范化存储

  5. 多数据库环境适配

该方案为后续派生指标、复合指标及指标治理能力建设奠定了坚实基础。