type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: 计划一个开源的数据平台; 参考许多数据中台的公司产品 以及 开源项目,进行一个整体的总结;可以大致归纳到如下一些点 - 离线 - 实时 - 算法 - 数据服务开发 - 数据质量检查 - 数据安全 - 数据资产 - 调度任务 - 环境模块
 

📝系统配置

最大力度以项目为隔离,来进行隔离 资源/用户/环境 等信息
进行如下的内容配置:
 
  • 部门 & 租户
  • 用户 & 角色
  • 项目 ——> 项目资源(比如yarn,hdfs存储资源,数据源,集群资源)
  • 业务流程(每个项目下有多个业务流程)
  • 项目配置(比如这个项目的默认参数等)
 

📝离线开发

开发系统设置

  • 数据交换 和 数据集成 : 数据的同步,数据库的同步,csv/execl同步,非结构化数据同步
  • 数据开发
      1. 传统数据库 : MySql / GaussDB / Oracle / PostgreSQL / SqlServer / DB2 等数据库
      1. 大数据组件: Spark(Sparl/SparkSql/pySpark) / Hive / HBase 等
      1. 语言层面: python/shell/perl
      1. 建表的DDL
      1. 资源文件 : 不同文件格式的类型
 

表信息

主要分为数据源类型,以及每种数据源类型的对应的数据库(也就是在项目配置中进行配置了的)
不同的数据库类型,比如下面的:
hive/mysql/oracle等
 

运行记录

对执行的信息进行记录
 

资源文件

对资源文件进行上传,保存以及展示等信息处理(主要是上传到hdfs上)
 

自定义函数开发

  • Hive函数
  • 其它函数
 

离线作业

新建业务流程(可以简单的理解为一个工作流)

比如 大屏A , 大屏B , 大屏 C 都可以分别建设一条工作流
 

新建离线作业

  • 数据同步,抽取数据
      1. 数据源配置: 源头表信息 ——> 目的表信息
      1. 字段映射关系
      1. 参数控制
       
      属性配置:
    • 使用的资源组
    • 运行参数
    • 本节点输入参数
    • 本节点输出参数
    • 依赖资源
    •  
      调度配置:
    • 生成实体的方法
    • 生效日期
    • 定时corn表达式(调度周期,根据天/星期/月等进行配置)
    • 调度优先级别
    • 调度依赖: 添加上下游节点 或者 将自身重置为根节点
    • 调度作用的范围: 当前业务流程 / 当前项目 / 当前租户
    •  
       
  • 脚本开发: 针对不同的数据库进行不同的脚本(还可以选择数据库);不同类型
      1. Spark : 提交作业的方式,是否数据湖的format文件格式等,使用的版本,spark的参数; 调度的配置依赖上下游的作业
      1. Hive : 无需多的选择,默认的hive设置即可
      1. MySql: 数据源类型的选择(假设我配置了多个数据源,是可以进行选择执行和提交;提交版本和发布)
      1. hbase: 无需多的配置; 本节点输入参数,本节点输出参数
      1. 传统数据库: 支持多个数据源的,都是可以进行选择的,然后进行脚本的编写
      1. 常规语言开发: 对常规的语言进行开发设置(python,shell)
  • 建表作业: 不同数据库类型的建表脚本进行开发(不参与工作流进行发布)
 

📝实时开发

 

系统属性设置

开发系统属性设置:
  • 数据集成,比如 Flink CDC 等同步
 
实时计算
  • FlinkSQL
  • Flink
  • Flink On 数据湖
 
建表语句
  • Flink DDL
  • Flink On 数据湖 DDL
 
资源文件类型
  • jar
  • py
  • txt
  • json
  • xml
  • 等等
 

实时运行的历史

对实时运行的历史进行一个记录
 

实时表的管理

对实时的表进行获取和管理
 

函数管理

  • 系统函数
  • 自定义函数
 

实时任务开发

系统参数
  • checkpoint 是否开启
  • checkpoint的模式是什么配置
  • checkpoint的超时设置
  • checkpoint的路径设置
  • checkpoint保留的个数
  • 日志配置
 

📝服务开发

自定义函数开发

对应一些便捷的函数等进行设置自定义开发
 
 

自定义SQL的API开发

  • 对应业务流程的选择,也是将什么样的业务给暴露给外侧
  • API的名称和请求路径
  • 请求方式 和 返回类型的配置
  • 调用的频率和超时时间的设置
 
 
环境的选择:
  • 数据源类型(比如Mysql,Oracle等;关系型或者mpp型居多,如果是hive或者是spark的话,不是特别建议)
  • 然后选择对应的 数据源 下面的数据库 , 来进行脚本的开发,将脚本执行的结果拿到返回数据给返回回去
  • API常见的一些分页设置等
 

📝运维中心

  • 对我们的DDL进行统一运维处理
  • 对我们的离线和实时,统一的任务调度和处理
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

🤗 总结归纳

📎 参考文章

 
💡
有关文章的问题,欢迎您在底部评论区留言,一起交流~