数睿通2.0功能更新:支持多版本 Flink 切换,新增数据标签模块

引言

小伙伴们,大家好,数睿通 2.0 数据中台迎来了 12 月份的更新,由于年底工作繁忙,所以本次更新内容稍微少了点,还望理解,本次更新内容主要包括:

  • 数据开发多版本 Flink 支持,执行任务的时候可以动态切换 Flink 版本,目前支持的版本有 1.14 和 1.16
  • 新增数据标签模块,包括标签类型(完成),标签实体(完成),标签类目(表已建,开发中),智能查询(表已建,开发中)四个子菜单
  • 合并数据资产和数据集市代码为一个微服务(二者业务强关联)
  • Bug 修复处理,细节优化

本文除了展示新增的功能,还会讲解一下如何动态切换不同版本的 Flink 执行任务,希望可以对你有所帮助。

支持多版本 Flink 切换

功能展示

之前的版本只做了 Flink1.14 的适配,编译打包的时候需要勾选 Profiles,动态加载相关依赖,较为麻烦,并且 1.14 版本的 Flink 连接器官方没有做 Oracle,MongoDB 等数据库的适配,使用起来也有些局限,所以该版本为了解决此问题,添加了 Flink 版本切换的功能,添加了对 Flink1.16 的支持,后续还会开放更多版本支持。版本切换的原理也很简单,每一个版本对应后台的一个微服务,前台选择完版本,后台会根据版本号匹配对应的微服务,执行相应的方法。开始想通过动态加载类字节码的方式去做,但不同版本的 Flink 之间所依赖的东西太多太杂,实现起来难度较大,所以放弃,切微服务虽然会增加服务数量,但方便不同版本的修改和维护,有弊也有利。前台虽然只是做了一个 Flink 版本的下拉框选择,但对应的后台工作量是很大很大的。

使用方法

由于之前已经详细讲过 yarn 模式的任务执行,如果是使用 Flink1.16,向 HDFS 上传 Flink1.16 相关的 Jar 即可,跟 Flink1.14 使用方式一致,所以在此不再赘述,大家可以参阅之前的文章。本次讲解以 Standalone 模式为例,

  1. 启动 Flink 1.14 和 Flink 1.16 的 Flink 集群(使用我提供的 Flink1.14 和 Flink1.16 的安装包,解压,执行 bin 目录下的 start-cluster.sh,注意,如果是同一台机器同时启动,需要修改配置文件的端口,避免冲突,或者可以分开启动,分开试),启动完毕后,查看 FlinkWebUI 是否可以正常访问,把相关信息录入到资源中心。
  2. 来到数据生产,在作业配置中选择 Flink 版本以及 Flink集群实例,注意,选择的 Flink 版本需要与实例的版本对应,否则会有版本兼容问题导致报错。

整体使用方式较为简单,如果有报错,基本都是因为 Jar 包依赖缺失,Jar 包冲突导致,检查一下 Flink 安装包 lib 文件夹下的 Jar 包是否齐全,是否有冲突,仔细耐心排查即可。

数据标签

该版本新增了数据标签功能模块,分为四个子菜单:标签类型,标签实体,标签类目,智能查询。

标签类型

标签类型由用户自定义维护,用于给标签分门别类。

标签实体

标签实体指定是标签的数据载体,分为表和自定义 SQL 两种类型,指定标签的业务数据范围。

标签类目

标签类目由用户自定义维护,在类目下可以创建标签,创建标签的时候需要选择标签类型和标签实体,一个标签实体可以衍生出多个标签,比如用户创建了人口标签实体,人口标签实体则可以被大学生,老年人等标签使用。

智能查询

当用户搭建好自己的标签类目体系之后,就可以通过实体,类型来进行标签级别的即席查询,选定多组标签,筛选组合出自己想要的数据,实现数据赋能。

由于时间关系,该版本目前只完成了标签类型和标签实体两部分,剩下的标签类目和智能查询下个版本发布,表结构都已梳理建设完毕,剩下的的主要就是相关代码的编写。

合并微服务

之前数据资产和数据集市是两个微服务,后来有朋友说二者业务属于强关联,没有必要分成两个,合成一个更为合理,所以该版本合并了数据资产和数据集市,二者共用一个服务。

Bug修复,细节优化

该版本主要处理完善了以下内容:

  • 修复部分数据库,如 postgresql 查询数据库为空的问题
  • 修复数据服务模块,若选择 mongodb 作为数据源,查询结果为空的问题
  • 修复创建用户,用户消失,需要手动去项目中分配的问题
  • 修复数据接入,数据填入正常,却提示数据填入不全的问题
  • 优化文件服务,改为从 nacos 中配置文件服务,统一管理,需要重新导入一下 nacos_config.zip
  • 其他细节优化

结语

本次数睿通 2.0 的功能更新介绍就到此结束了,比较大的改动是 Flink 多版本适配,这次更新之后,编译调试代码就无需勾选 profiles 了,打包的时候勾选 profiles 可以指定 win 或 linux 输出指定平台的安装包。后续数睿通 2.0 会完善标签剩下的两个模块,优化完善数据血缘等功能。

目前源码,部署指南,讲解视频等相关资料是付费加入知识星球获取的,价格相比其他同系列的产品连个零头都不到,还是很良心的,星球内可以获取到数睿通 2.0 的最新源码资料等,功能发布之后也会第一时间分享。

感兴趣的朋友请关注公众号 螺旋编程极客 加入星球,我们一起成长,一起进步。

订阅评论
提醒
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
()
x