如何构建大数据指标分析系统

这篇具有很好参考价值的文章主要介绍了如何构建大数据指标分析系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:技术是为了需求服务。技术的第一性原则是解决问题,不同的技术方案都能实现同样的需求,那在公司原有技术架构上,如何设计技术架构,尽量用最少的大数据组件解决多种应用场景问题。分析分为实事状态分析和预测分析(特征工程),本文用对事实状态指标分析为例,用多种技术方案构建指标分析系统。

一、指标分析的基础分析

1.大数据的指标分析场景:从主机往上分析,有机器的性能指标、中间件的应用指标、业务应用指标、业务指标;其中前三个和安全生产管理、监控、运维相关;业务指标和运营、决策分析相关;面向业务指标是主要的、可操作数据的分析系统。

2.数据分析阶段:数据分析系统会经过数据采集、数据处理、指标计算、结果应用四个阶段。

3.数据样式:数据的样式有OLTP数据库的结构化数据(ER模型或大宽表);日志等半结构化数据。

4.指标计算思考:分析和计算是两件事,业务要评估是需要分析挖掘还是实事呈现;数据分析和指标计算在技术层面没有强因果联系,但是定式思维导致在构建局部指标需求的时候,往往先构建分析模型(ODS和DWD),再依据DIM层构建DWS到OPS层的计算;这种方式带着传统OLTP计算方式的特征;数据分析阶段,到宽表之前,都是为了指标分析构建数据模型,换句话说,最优方式构建好宽表模型,指标就能很快的计算出来;分析不一定要放到技术层,也可以放到业务构建时。

二、指标分析技术方案

以下从ER模型的结构化数据和日志非结构数据两种场景构建指标分析系统。

方案一(离线分析报表):数据采集+数据处理+数仓分析+数据呈现

例如:datax采集数据库、Flume采集文件+Spark数据处理(标准化)+hive数仓分析+mysql和后端做数据结构展示嵌入web;

市场上第一版用于数据分析的技术架构方案,数据采集源是通过集成插件将OLTP结构化数据库或非结构日志采集到HDFS上,存储为文件系统,通过spark数据处理成标准数据,然后hive数仓安装指标要求,构建数据模型,计算指标,将指标同步到高qps的中间件应用。

优点:存储数据量大,业务分析性能稳定。

弊端:模型构建复杂、处理链路长,详细数据难以呈现。

方案二(离线分析报表改进):SDK事件模型采集+纬度关联+纬度统计和结果呈现

例如1:SDK事件模型数据采集(存入Kafka)+不定义scheme的存储组建(ES)+Redis数据阔维+DSL计算,结果存入Mysql+取数API读取指标数据

例如2:SDK事件模型数据采集(存入Kafka)+定义scheam的存储组件(Doris)+DIm中间维度表+Doris自带引擎计算维度指标结果+取数API读取指标数据。(相比例如1,存在scheme定义和阔维处理区别)

优点:数据加工,关联查询,详情即席查询;

缺点:依赖OLAP分析组件自身的性能,存储计算能力和QPS的性能。

大数据现有分析技术主要是数仓分析(离线和实事数仓),数仓分析是一套标准的方法论,对标传统计算机语言的计算逻辑,依靠层级关系将最终指标结果分析出来,在处理过程中,会生成一张描述事件的宽表,然后在宽表之上计算指标数据;如何生成宽表,在业务系统中存在多种方式,可以自定义OLTP事件描述宽表,将多种ER表和机器语言内部关联逻辑具象成最终结果,大数据集成只需要拉取最终结果表;或者在业务系统内部埋点,将事件关系描述生成一条数据存入kafka类似队列;然后关联事件纬度,就可以使用大数据存储分析能力产出报表。

方案三(实时分析报表):采集到数据管道+实事窗口或状态粗加工计算+存储引擎细加工(纬度统计计算和高QPS特性)数据API支持。

例如1:Kafka+Flink和Redis数据加工+ES存储大宽表+ES引擎和自身的RestApi提供Web指统计标数据;

例如2:Kafka数据缓存+Flink和Redis数据加工+CLickHouse大宽表存+依赖CK引擎的数据API纬度统计结果呈现;

例如3:Kafka等队列中间件缓存数据+FLink窗口或状态特性计算结果+Mysql存储结果数据,数据API呈现指标结果;

例如4:FLinkCdc或kafka等定时将结果同步到Doris+Doris引擎和定时调度触发快速计算(MPP)(低频使用)+数据Api呈现计算结果(即席查询特性)

大数据实时数据分析有多种技术方案,技术选项参考公司的技术栈和团队技术能力深浅。有存组件的技术方式,如CK、Hbase和Doris/starRocks,只需要数据标准化后打通数据管道,依赖组件自己的引擎计算能力;也可以通过灵活的计算引擎,开大窗口,利用内置状态,实事更新指标存储到外部中间件,如FLink+Redis或Mysql等高QPS的中间件;也可以综合使用,预计算后再依赖中间件最终聚合得出结果,如,可以把计算窗口调小一点,放弃状态管理,将阶段计算结果输出到中间件,再计算最终结果。

三、结论

大数据指标系统是一个集:数据采集、数据处理、指标计算、结果呈现的周期;多个阶段是一个生命整体,如何高效、稳定、有效的输出报表,可以在周期任何一个阶段做优化。

指标分析最理想的状态是:业务端采集的就是宽表核心数据,数据直接写入存储系统,做简单处理,依靠宽表做指标统计,结果直接呈现。想实现理想状态,需要以存储系统的读写性能为基础,以宽表构建为关联核心,任务调度系统做辅助;在业务侧做好宽表处理,依赖高性能OLAP大数据组件做数据存储能力建设,计算下沉或上移得到指标结果,组件自身的数据API提供报表数据支撑。离线和实事报表都可以基于这套方式构建,实时报可以将计算放到落库之前FLink和kafka中,离线报表指标可以增加一个中间件,依赖机器语言或者数据迁移插件存储到mysql这类高QPS的中间件中。

 如果这份博客对大家有帮助,希望各位给i7杨一个免费的点赞👍作为鼓励,并评论收藏一下⭐,谢谢大家!!!
  制作不易,如果大家有什么疑问或给i7杨的意见,欢迎评论区留言。文章来源地址https://www.toymoban.com/news/detail-809110.html

到了这里,关于如何构建大数据指标分析系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB算法实战应用案例精讲-【概念篇】构建数据指标方法(补充篇)

    目录 前言 几个高频面试题目 指标与标签的区别 几个相关概念 数据域

    2024年02月10日
    浏览(65)
  • 【数据分析】—— 指标与指标体系

    指标:从社会科学角度看,指标是统计学的范畴,将说明总体 数量特征 的概念称为指标。传统的指标有国内生产总值(Gross Domestic Product,GDP)、国民生产总值(Gross National Product,GNP)、居民消费价格指数(Consumer Price Index,CPI)、沪深300指数等。 数据指标有别于传统意义上

    2024年02月02日
    浏览(40)
  • 数据分析-关于指标和指标体系

         

    2024年02月14日
    浏览(41)
  • 什么是指标拆解树?指标拆解树怎么做数据分析?

    指标拆解树能够通过对指标进行拆解,帮助分析定位影响指标的关键因素。 通过指标拆解树,您可以方便查看各个维度中各个成员对指标的贡献情况和占比,也可以将指标分解到一个或多个维度,分析每个维度对指标的影响。 指标拆解树的数据绑定 指标拆解树只支持数据模

    2024年02月10日
    浏览(57)
  • 【控制工程基础】四、系统的动态性能指标与时域分析

    本节内容可参考这篇 自动控制原理笔记三(线性系统的时域分析)_派大星先生c的博客-CSDN博客_过阻尼,欠阻尼 csdn 定义如上,定义倒不用死记硬背,因为让你算的时候都不是从定义来算的。  延迟时间td,上升时间tr,峰值时间tp,超调量σ(也有写成P.O.的),调节时间ts 可以

    2024年02月08日
    浏览(45)
  • 数据分析中常用的指标或方法

    总体方差 V a r ( x ) = σ 2 = ∑ i = 1 n ( x i − x ˉ ) 2 n = ∑ i = 1 n x i 2 − n x ˉ 2 n = E ( x 2 ) − [ E ( x ) ] 2 Var(x)=sigma^2=frac {sumlimits_{i=1}^{n} (x_i - bar{x})^2} {n} =frac{sumlimits_{i=1}^nx_i^2-nbar{x}^2} {n} =E(x^2)-[E(x)]^2 Va r ( x ) = σ 2 = n i = 1 ∑ n ​ ( x i ​ − x ˉ ) 2 ​ = n i = 1 ∑ n ​ x i 2 ​ −

    2024年01月17日
    浏览(41)
  • 超详细的APP数据指标体系分析

    为什么要做APP数据分析 (一)搭建数据运营分析框架 一个APP的构建与运营工作通常由多个角色分工实现,由于大家的工作重点不同,仅关注一个方面的数据就如同管中窥豹,无法全面了解产品运营情况,不能提出行之有效的分析建议。 因此,只有搭建完善的数据运营分析框

    2024年02月12日
    浏览(50)
  • 基于yolov5开发构建道路路面病害检测识别系统——以捷克、印度、日本三国城市道路实况场景数据为例,开发对比分析模型并分析对应性能

    城市道路病害检测是最近比较热门的一个任务领域,核心就是迁移深度学习目前已有的研究成果来实现实时城市道路路面病害的检测识别分析,在我之前的很多博文中都有做过类似桥梁、大坝、基建、隧道等水泥设施裂缝裂痕等目标检测相关的项目,除此之外还有开发过相关

    2024年02月08日
    浏览(45)
  • 分布式数据库系统:如何利用HBase构建微博搜索引擎?

    作者:禅与计算机程序设计艺术 随着互联网的蓬勃发展,用户数量和社交活动呈爆炸式增长。因此,基于互联网的新型应用正在崭露头角,例如新浪微博、微信朋友圈、QQ空间、知乎、搜狐新闻等。这些网站拥有庞大的用户群体,每天产生海量的数据,极大的 challenges 要如何

    2024年02月04日
    浏览(60)
  • 私域流量运营数据分析:6个关键指标

    随着数字化时代的到来,私域流量运营已经成为企业营销的重要策略。然而,要确保私域流量运营的有效性和成功,数据分析是至关重要的一环。通过对运营数据进行深入分析,企业可以了解用户行为和趋势,发现问题和机遇,从而优化运营策略,提高用户参与度和忠诚度。

    2024年02月14日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包