news 2026/6/9 23:27:15

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
原子指标计算实现方案详解 | 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)数据筛选条件

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. 多数据库环境适配

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 12:32:36

统计概览-Cordovaopenharmony多维度数据展示

一、功能概述 喝水记录应用的核心价值之一是“让数据说话”。用户不仅希望看到当天喝了多少水,还希望了解最近一周、一个月的整体趋势,以及不同类型、不同容器的喝水分布。本篇文章以“统计概览”页面为例,介绍如何在 Cordova Web 层 汇总多维…

作者头像 李华
网站建设 2026/6/10 12:25:33

Java常见技术分享-08-策略模式

什么是策略模式? 策略模式的 主要包含三个组件 抽象策略类, 环境类, 具体的策略类。 抽象策略类 我理解 其实就是要解决的问题, 具体的策略类 则是在不同的条件下 解决这个问题的处理逻辑, 而环境类 就是负责在不同条…

作者头像 李华
网站建设 2026/6/10 12:28:20

算法-广度优先搜索-09

力扣-真题-岛屿数量我的想法是 初始化一个 sum代表岛屿数量, 没遍历到一个 1, sum sum 1 然后从这个位置开始 进行广度优先搜索 把所有相连的1 全部变成0 (原地修改)。 然后再继续向下遍历 。 就能得到所有岛屿数量了。public int numIslan…

作者头像 李华
网站建设 2026/6/9 12:42:49

LobeChat数据安全合规声明

LobeChat 数据安全合规架构深度解析 在企业加速拥抱大模型的今天,一个看似简单的问题却成了落地的关键障碍:我们能放心让员工把内部文档、客户数据甚至源代码丢进聊天框吗?尤其是当这些对话要经过第三方云服务时,合规风险往往成为…

作者头像 李华
网站建设 2026/6/8 15:49:14

LobeChat支持哪些大语言模型?一文看懂所有兼容性细节

LobeChat支持哪些大语言模型?一文看懂所有兼容性细节 在AI助手日益普及的今天,越来越多用户不再满足于单一模型、固定界面的聊天工具。面对OpenAI、Claude、通义千问等层出不穷的大模型,如何在一个统一平台中自由切换、灵活调用,成…

作者头像 李华
网站建设 2026/6/9 1:55:48

彼得林奇的“反向思维“在牛市中的应用

彼得林奇的"反向思维"在牛市中的应用 关键词:彼得林奇、反向思维、牛市、投资策略、股票市场 摘要:本文聚焦于彼得林奇的“反向思维”在牛市中的应用。首先介绍了背景信息,包括目的、预期读者、文档结构和相关术语。接着阐述了核心…

作者头像 李华