基于Kylin的数据统计分析平台架构设计与实现

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

目录

1 前言

2 关键模块

2.1 数据仓库的搭建

2.2 ETL

2.3 Kylin数据分析系统

2.4 数据可视化系统

2.5 报表模块

3 最终成果

4 遇到问题


 文章来源地址https://www.toymoban.com/news/detail-728637.html

 

1 前言

        这是在公司云平台部门做的一个项目,总体包括云上数据统计平台的架构设计和组件开发,在此只做技术分享,不涉及其他用途。该项目为搭建数据平台以便开发数据仓库和数据应用,支持对云上设备数据做管理和分析,并使用kylin框架、cube多维分析对数据仓库的数据做统计和计算,以空间换时间和预计算的思想,每日自动化统计分析生成计算结果立方体(cube)数据,对接到报表系统和数据可视化系统,供领导和业务部门查看,以及便于观察设备数据的历史趋势,让业务部门更好地做业务决策。整体的架构与数据流向如下图所示,包括Hive做数据仓库、Spark实现的ETL组件、kylin、报表模块和数据可视化系统等应用。每天Hive新增数据20多个G,kylin预计算之后的数据压缩比为5%左右。

基于Kylin的数据统计分析平台架构设计与实现,数据分析,大数据,架构与设计,hive,spark,big data,kylin,大数据

2 关键模块

2.1 数据仓库的搭建

       选择Hive作为数据仓库组件,存储主要分为三类数据,包括设备、用户和生产数据。表的设计采用星型模型,维度表有model表,事实表有设备首次连接时间、设备在线状态表等。每天全量拉取线上数据库的数据,数据仓库保留最近两天的数据。对于个别大数据量的表采用冷热数据分离的方式,设置冷热数据分割时间线,每次只拉取热数据,更新被update的冷数据,再将冷热数据合并。定时任务脚本定时清理过期分区的数据。

2.2 ETL

       ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程。ETL组件使用Spark框架,从线上数据库和备份库抽取数据到内存中做计算和转换,然后加载到数据仓库Hive。ETL一方面做数据清洗,过滤掉不合法的值,一方面做数据粒度的转换,例如时间字段转换成粒度小的衍生字段。由于整体线上数据库数据量不是特别大,所以选择全量抽取。

2.3 Kylin数据分析系统

       原先采用的是使用spark内存计算技术对数据做各种维度组合做聚合计算,将统计值存于mysql中,用户从mysql中做二次聚合查询结果耗时过长,所以调研一种OLAP引擎旨在提高查询效率。kylin是国内开发的一款开源的OLAP引擎,支持对数据做多维度的预计算,利用以空间换时间的思想,根据用户建立的用户模型做聚合计算,生成对应的多个数据集合cubeid,提供sql的方式查询,提高数据查询效率。数据模型主要包括设备数据、用户数据和设备生产数据。维度众多情况下预计算后的数据量庞大,需要对cube构建做优化,主要通过两方面优化。一是使用聚合组,聚合组是通过分组的方式划分维度,同一组中的维度才能被聚合计算,减少维度组合的情况,从而减少cubeid。二是使用cubeplanner进行优化,该方式需要开启dashboard对历史统计请求监控统计,根据统计数据包括cubei命中频率以及采用贪心算法,经过多轮计算,因为有些cubeid可以根据其他cubeid计算,每一轮计算效益比最大的cubeid,最终到达膨胀率阈值后停止。

 

基于Kylin的数据统计分析平台架构设计与实现,数据分析,大数据,架构与设计,hive,spark,big data,kylin,大数据

2.4 数据可视化系统

     数据可视化系统用python(Django)构建,前端使用vue,前端接受用户选择的查询维度,以表格和折线图的形式展示结果数据。

 

 

2.5 报表模块

      报表模块是一个python模块,根据定义好的数据度量,获取kylin统计数据,生成Excel。度量数据主要设备和用户数据在多维度下的各个场景下的聚合值,如设备24小时内活跃数量、绑定账号数量等。生成的Excel表格包含了全部报表数据,每日邮件定时发出。另外还有定制报表,这一部分是业务部门根据自己的特定需求提出,不包含在上面的常规报表模块,需要定制化开发。

3 最终成果

     最终实现了千万设备数量每日自动化地统计分析,支持数据可视化系统查询多维度数据,数据查询效率相比于原来的mysql查询提高10倍左右。

4 数据平台研发经验

 数据平台的研发经验是:

1、选用或者打造一款适合ETL组件,能够对线上数据做清洗和计算的处理;

2、选用一款数据仓库的组件,如hive,然后进行数据仓库的建设,可以参考业界通用的eds,dim,dw层分层架构;

3、对数据的分析可以考虑采用kylin或clinkhouse,对数据做多维度的分析和预计算;

4、 根据业务对数据的需求设计数据应用,如数据报表、数据可视化系统,推荐系统等,更高级的数据应用使用数据挖掘和机器学习等人工智能技术进行数据处理和开发数据产品。整个数据平台的建设过程包括架构设计、组件调研和研发、业务调研和数据产品规划等过程,架构设计和业务需求是重点,决定于组件的选型和功能。        

4 遇到问题

  1. 因系统重启并且误用tmp临时目录作为hdfs的存储目录,导致hdfs和kylin的所有元数据和业务数据都丢失,解决方案为重新创建kylin model和cube等信息,hdfs重新建立数据仓库表,已生成的统计数据丢失了,可视化系统改为从旧数据统计系统获取数据。
  2. 数据分析任务失败没能及时发现,需要人工检查,有时候需要外部门反馈才发现,恢复数据困难。解决方案为增加任务执行失败告警,监控各个任务的执行时间和结果,建立超时和失败等告警,及时发现问题,及时恢复数据。
  3. 数据构建任务执行过程中失败,查看kylin相关日志,报OOM错误,再查看Hadoop的DataNode、resourcemanager的相关日志查看具体job的报错信息,通过调整mapreduce.map.java.opts和mapreduce.reduce.java.opts的值修改map和reduce线程的jvm配置。

 

 

 

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

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

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

相关文章

  • 【数据分析】统计量

    1. 均值、众数描述数据的集中趋势度量,四分位差、极差描述数据的离散程度。 2. 标准差、四分位差、异众比率度量离散程度,协方差是度量相关性。  期望值分别为E[X]与E[Y]的两个实随机变量X与Y之间的协方差Cov(X,Y)定义为: 从直观上来看,协方差表示的是两个变量总体误

    2024年02月11日
    浏览(41)
  • 数据科学、统计学、商业分析

    数据科学、统计学、商业分析是在各方面有着不同的侧重和方向的领域。  1.专业技能 数据科学(Data Science):数据科学涉及从大量数据中提取有价值的信息、模式和洞察力的领域。它使用多种技术和领域知识,如统计学、机器学习、数据库管理、数据可视化等,进行数据清

    2024年02月15日
    浏览(48)
  • 0基础学习VR全景平台篇 第90篇:智慧眼-数据统计

    【 数据统计 】是按不同条件去统计整个智慧眼项目中的热点,共包含四大块,分别是数据统计、分类热点、待审核、回收站,下面我们来逐一进行介绍。 1、数据统计 ① 可以按所属分类、场景分组、所属场景、热点类型以及输入热点名去筛选对应的热点; ② 支持数据导出

    2024年02月11日
    浏览(34)
  • 数据挖掘与数据分析之统计知识篇

    统计学上, 自由度 是指当以样本的 统计量 估计 总体 的参数时, 样本中独立或能自由变化的数据个数叫自由度 。一般来说,自由度等于独立变量减掉其衍生量数。举例来说,变异数的定义是样本减平均值(一个由样本决定的衍生量),因此对N个随机样本而言,其自由度为N

    2024年02月11日
    浏览(48)
  • 数据的统计描述和分析——假设检验

    对总体X的分布律或分布参数作某种假设,根据抽取的样本观察值,运用数理统计的分析方法,检验这种假设是否正确,从而决定接受假设或拒绝假设. 1. 参数检验 :如果观测的分布函数类型已知,这时构造出的统计量依赖于总体的分布函数,这种检验称为参数检验.参数检验

    2024年02月14日
    浏览(42)
  • R语言 | 数据分析——统计绘图

    目录 一、分类数据的图形描述 1.1 条形图barplot()函数 1.2 饼图pie()函数  二、量化数据的图形描述 2.1 点图与dotchart()函数 2.2 绘图函数plot()  2.2.1 绘制时间数列对象 ​2.2.2 向量数据与plot()函数 2.2.3 数据框数据与plot()函数 2.2.4  因子型数据与plot()函数 ​2.2.5 使用lines()函数绘制回

    2024年02月04日
    浏览(46)
  • 【postgresql 基础入门】聚合函数,通用型,统计分析型,多种多样的聚合函数满足数据的大数据的统计分析

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 在数据库管理系统中,SQL(结构化查询语言)的聚集函数扮演着至关重要的角色。它们能够对一组值执

    2024年04月10日
    浏览(63)
  • 【大数据学习篇6】 Spark操作统计分析数据操作

    通过前面的文章安装好环境下面我们就可以开始来操作 使用MySQL的root用户对数据库进行修改以下设置

    2024年02月05日
    浏览(43)
  • 【hadoop】汽车销售数据统计分析项目(部分)

    来源:《hadoop大数据开发实战》 实验一:统计乘用车辆和商用车辆的数量和销售额分布 设计思路: 首先,写一个Mapper来映射输出所有乘用车辆(feiyingyun)和商用车辆(yingyun)的记录。 然后,写一个reduce统计出乘用车辆和商用车辆各自的数量,写一个map的映射集合中,其中

    2024年02月09日
    浏览(53)
  • R语言生物群落(生态)数据统计分析与绘图

    详情点击链接:R语言生物群落(生态)数据统计分析与绘图 前沿 R 语言作的开源、自由、免费等特点使其广泛应用于生物群落数据统计分析。生物群落数据多样而复杂,涉及众多统计分析方法。 一: R和Rstudio简介及入门和作图基础 1 ) R及Rstudio:背景、软件及程序包安装、

    2024年02月02日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包