《企业大数据处理》 第8章 数据平台——肖冠宇

一、数据平台需求分析
  随着互联网不断发展,团队不断扩大,依靠传统的管理方式已经很难适应不断变化的市场需求,需要依托海量的数据和科学的数据分析支撑各业务线的发展。科学、有效、多角度、全方位的数据分析能够为决策者提供权威的数据参考标准,为运营团队提供转却的分析指标作为参考指导,为用户提供更优质的服务和更好的产品。
  传统的报表开发方式是运营人员或者决策者提出报表需求,产品经理根据需求制定具体的报表可视化方案,数据分析工程师根据需求开发报表数据,前端开发工程师分局报表可视化方案开发页面,最终测试交付报表。整个报表开发流程复杂、涉及人员较多、开发周期长,最主要的问题是维度和统计项固定,只能从一个角度分析数据。
  数据平台的产生是为了解决传统报表开发过程中的问题,为运营人员、公司决策者、数据分析工程师等提供有效、准确的数据分析服务。数据平台提供的数据分析服务有常规报表、个性化定制、数据质量管理以及权限管理,其中个性化定制提供多为分析查询、个性化定制报表、报表管理等功能。
  日常固定维度、统计项数据分析结果采用常规报表的方式展现。非固定维度、统计项的数据分析采用多维分析和自定义报表的方式展现,如果是常用分析需求,自定义的报表可以发布为常规报表(具有常规报表权限的用户都可以查看)或者我的报表(只有自己有权限查看),用户对自己定制的报表具有修改、删除的权限,所有定制报表具有权限控制和监控预警功能。超级管理员可以管理所有用户和数据的权限。

  需求分析主要功能描述如下:

1.常规报表

  具有常规报表访问权限的用户都可以查看。常规报表展现的是固定维度分析数据,报表类型有天报表、周报表、月报表、季度报表、年报表。
2.个性化定制

  个性化定制包含报表、报表管理、多维分析查询三个主要功能模块。

  定制报表:选择不同的主题(数据源)将需要组合在一起分析的维度、统计项和查询条件分别拖拽到对应的选择区域,如果需要分析结果以图形化展示,在可视化图形区域选择图形类型(折线图、饼图、柱状图、散点图等),选择完成后可以通过预览查看数据分析的结果是否满足要求,如果达到预期目的点击发布按钮,选择发布到“常规报表”或者“我的报表”。

  报表管理:个性化定制报表的修改、删除。

  多维分析查询:主要处理临时需求,不同维度、统计项、查询条件自由组合,从不同的角度分析数据,在分析数据的过程希望把某些组合分析条件定制为固定的报表,点击发布按钮发布为“我的报表”或者“常规报表”,方便以后从同一角度分析使用。

3.数据质量管理
  主要功能式对已发布的报表数据进行质量监控、预警,根据权限范围管理数据源。

4.权限管理
  如果具有管理员权限则具有管理同级一下的用户权限,添加用户、删除用户、管理用户角色。

二,功能实现

  整体功能实现主要分为两大部分,数据可视化和后天服务管理,重点开发是后台服务管理部分,后台服务管理主要包括 ETL、数据摄取、查询API开发、平台管理、监控预警等。

1.数据平台架构组成

  LogServer:日志收集服务,负责收集线上各业务应用程序实时产生的日志,日志类型包含广告日志、系统日志、错误上报日志等。

  Kafka:分布式消息发布订阅系统,负责接收日志收集服务收集过来的各种类型日志数据,为后续的实时流数据处理、搜索服务、推荐系统、离线数据分析等产品提供数据支撑。

  Hadoop:数据持久化存储,离线计算任务,资源任务协调调度。

  Hive:数据仓库,提供离线数据分析。

  Druid:提供低延时多维度数据分析服务。

  MySQL:各系统元数据存储。

  Redis:维度表数据存储。

  RestAPI:通过Rest接口提供公用查询服务。

  WebUI:数据平台的数据可视化。

  MonitorSystem:负责监控各系统指标数据,保障系统稳定运行。

《企业大数据处理》 第8章 数据平台——肖冠宇_第1张图片
数据平台系统架构图

2.执行过程

  日志收集系统将原始日志写入到Kafka,Kafka中的 日志数据会被三种数据处理应用程序订阅。

  1)将原始日志写入HDFS压缩存储,用于历史回溯。

  2)离线ETL之后写入Hive仓库,用于离线数据分析。

  3)实时六计算不断拉取数据消费,其中数据平台使用Spark进行实时ETL和数据分析,处理结果写入到Kafka作为Druid实时索引服务数据源。Hive数据仓库按天或者小时分区,通过离线数据分析为Druid离线批量加载数据服务提供数据源,通过重建索引对实时索引进行数据校正。

  RestAPI提供了公共的数据查询服务,解耦数据查询和数据服务,RestAPI内部集成权限管理对数据安全做了进一步保障,为了降低Druid的索引存储压力,提高查询性能,将维度表数据存储到Redis中,当有查新结果返回是从Redis中匹配维度数据。数据平台前端应用通过RestAPI与Druid进行交互查询操作。

你可能感兴趣的:(《企业大数据处理》 第8章 数据平台——肖冠宇)