原子指标计算实现方案详解 | qData 数据中台商业版 · 指标平台

在数据中台建设过程中,指标是数据资产向业务价值转化的核心载体。

qData 数据中台商业版在产品生态圈中构建了统一的指标平台,通过原子指标作为指标体系的最小计算单元,实现指标的标准化定义、统一计算与可治理管理。

本文将系统介绍 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)数据筛选条件

系统根据指标配置规则,自动生成 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. 多数据库环境适配

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

相关推荐
Light609 天前
不止于名:领码 SPARK 如何“链”动数据仓库、数据湖、中台与湖仓一体新纪元
大数据·数据仓库·数据湖·ipaas·湖仓一体·数据中台·领码 spark
智慧化智能化数字化方案9 天前
数据治理进阶——解读大数据治理主数据管理规划设计方案【附全文阅读】
大数据·数据治理·主数据管理规划
梦想画家14 天前
数据治理5大核心概念:分清、用好,支撑AI智能化应用
人工智能·数据治理
红薯大哥14 天前
小团队选免费项目管理工具够用吗会有哪些限制
数据治理·协作管理·工具选型
JD技术委员会15 天前
小团队用项目管理系统能从哪些维度提升透明度与可控性
项目管理·数据治理·团队协作
Aloudata15 天前
数据治理新解法:基于算子级血缘的主动元数据如何破解数仓重构难题?
大数据·数据库·数据治理·元数据·数据血缘
Aloudata15 天前
企业级指标中台 API/JDBC 架构选型四步法
大数据·数据分析·etl·指标平台
千桐科技16 天前
qData 数据中台核心能力解析|第 03 期:数据质量能力全景解读
开源软件·数据治理·大数据平台·数据质量·数据中台·qdata·千数平台
Aloudata16 天前
指标平台选型的关键——无宽表下的查询性能如何保障?
大数据·数据库·数据分析·etl·指标平台
Aloudata17 天前
基于 NoETL 语义编织的指标分级管控与口径统一方案实践
java·数据库·数据分析·数据治理·指标平台