指北数据中台


从事数据平台方向以来,很多时候都是以共性项目的形式进行交付。

不停的研发数据平台,不停的贴合业务进行修改以交付项目。

没有持续优化一个从0到1的产品。

深深的感到很遗憾…

与此,在写公众号文章的同时,想着光光写文章,没有持续的打磨产品。

作为实干派

总是觉得缺少点啥

有了理论,那么就应该有实践操作,不然一切都是空谈。

是不是可以尽自己的力气,持续构建数据中台(小型)

去实现一套可以「实际落地的产品」,想法很容易,但实际是很难的,很难去发电…

前端对我来说是硬伤,在单位前端大佬的帮助下,也算是跌跌撞撞的去vue,去独立的完成。

争取把公众号打造成理论+实践的领域。

一、项目介绍

指北数据中台,是采用 Vue2,Spring Cloud Alibaba、SpringSecurity、Spring Cloud Gateway、SpringBoot、Nacos、Redis、Mybatis-Plus,Hive,flink,neo4j 等最新技术,开发的数据中台,包含数据汇聚,数据开发,数据治理,数据集市,平台基础五大模块,致力于解决数据孤岛问题,实现数据统一口径标准,自定义数据开发任务,帮助企业,政府等解决数据问题。

二、功能模块说明

2.1 平台基础设置

  • 集群概览

    存储概览:对HDFS的存储资源进行概况统计。

    计算概览:对Yarn上的任务进行统计计算。

    监控概览:对大数据集群的监控。

  • 系统管理

    岗位管理:配置系统用户所属担任职务。

    部门管理:配置系统组织机构,树结构展现支持数据权限。

    菜单管理:配置系统菜单,操作权限,按钮权限标识等。

    角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

    用户管理:用户是系统操作者,该功能主要完成系统用户配置。

    参数管理:对系统动态配置常用参数。

    字典管理:对系统中经常使用的一些较为固定的数据进行维护。

    系统监控登录日志:系统登录日志记录查询。

    操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。

2.2 数据汇聚管理

运行报表:可视化统计数据集成任务成功失败状态。

项目管理:对数据集成项目进行统一管理。

数据源管理:数据集成的数据源进行统一接入管理。

任务管理:任务管理:对数据汇聚任务进行管理。

任务构建:菜单式的方式进行单个数据集成任务的设计。

批量任务构建:批量进行数据集成任务的设计。

任务模板:对定时调度执行器的设计。

日志管理:数据集成任务执行的日志显示。

2.3 数据开发

运维中心:对数据开发任务的执行状态统计显示。

集群管理:Flink集群的注册显示管理。

项目管理:数据开发任务的归宿项目管理。

作业管理:数据开发作业任务管理和配置。

作业调度:对作业任务进行拖拽编排,并定时执行。

即席查询:对hive数据仓库进行快速统计。

2.4 数据治理

  • 元数据管理

数据源:数据源连接信息管理,可生成数据库文档。

元数据:数据库表的元数据信息管理。

数据授权:设置元数据信息权限划分。

数据血缘:作业任务执行的血缘流程。

数据地图:元数据的隶属数据表、数据库的图形展示。

2.5 数据集市管理

数据服务:动态开发api数据服务,可生成数据服务文档。

数据脱敏:api数据服务返回结果动态脱敏。

接口日志:api数据服务调用日志。

2.6 可视化管理

数据集:基于sql的查询结果维护。

图表配置:动态echarts图表配置,支持多维表格、折线、柱状、饼图、雷达、散点等多种图表。

看板配置:拖拽式添加图表组件,调整位置、大小。

酷屏配置:拖拽式添加图表组件,调整背景图、颜色、位置、大小。

三、系统核心技术栈

前台

  • vue2

  • typeScript

  • element-plus

。。。

后台:

  • Spring Cloud Alibaba

  • SpringSecurity

  • Spring Cloud Gateway

  • SpringBoot

  • Nacos

  • Redis

  • Mybatis-Plus

  • Mysql5.7

  • Hive

  • flink1.14

  • flink cdc

  • flink sql

  • neo4j

。。。

四、系统数仓架构

该平台主要基于

  • Flink + Hive 构建离线数仓。

  • Flink + Kafka 构建实时数仓。

进行数据同步,流转,计算和分析处理,数据仓库分为「离线数据仓库和实时数据仓库」,两者的典型区别是数据服务时间粒度。传统的离线数据仓库一般的数据服务时间粒度是天,实时数据仓库的数据服务时间粒度是分钟,甚至秒。

  • Flink 和 Hive 的相关说明:

Flink 是一个低延迟、高吞吐、流批统一的大数据计算引擎,被普遍用于实时性场景下的计算统计和分析。

对于海量数据场景(如节点数需要几百个甚至上千个时),Hive 的优势是稳定性和容错性好,可以用于处理海量数据的复杂计算。与此同时Flink对Hive的支持越来越成熟。

  • Flink和Kafka的相关说明:

实时数据仓库当前的主流方案之一是 HDFS + Flink + Kafka 。因而对于实时数仓的定位,我的理解是以数仓建设理论和实时技术为基础,解决由于当前离线数仓数据时效性低解决不了的问题。

总而言之,目前,大部分企业在建设数据仓库时,综合考量性能、健壮性、投入产出比和运维复杂度,主要策略是以离线数据仓库的批处理计算为主,以实时数据仓库为辅助。

数仓整体架构图如下:

关于数仓为什么要分层:分层可以有助于数据的管理,同时每次取数只需要获取统计分析过的成品就可以,不需要从源头数据反复计算,避免了计算资源的浪费,通常源头数据量较大,并且中间的处理逻辑较为复杂,所以采用建模分层的方式解决。

五、系统运行展示

目前而言,基本的功能模块已经差不多完成,现在最主要的是逐步的进一步解决bug

解决优化问题,以及更好的去完善平台。

持续研发平台,让它能用,好用,易用 !

  • 登录

  • 首页

  • 数据汇聚

  • 数据开发

  • 数据集市

  • 可视化

  • 数据治理

  • 平台基础

六、总结

持续的努力基本让指北数据中台已经初见雏形,虽然它还是个孩纸,但是相信在我的持续照顾下,会慢慢成长的。

会逐渐变得可用,好用,易用 !!!

俗话说,欲抬手摘星望月,必先平地起高楼。

一步一个脚印向前迈进…终究会见到彩虹。

后续的计划」:

    1. 不停的进行优化更新…(比如数据质量,数据标准,数据科学等…)
    1. 围绕指北数据中台实现一个真实场景的数仓项目,并完成教程的编写。
    1. 分解指北数据中台,从前端和后端一步一个脚印完成教程的编写。

猜你喜欢

转载自blog.csdn.net/shujuelin/article/details/130257896