引言
小伙伴们,大家好,数睿通 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 模式为例,
- 启动 Flink 1.14 和 Flink 1.16 的 Flink 集群(使用我提供的 Flink1.14 和 Flink1.16 的安装包,解压,执行 bin 目录下的 start-cluster.sh,注意,如果是同一台机器同时启动,需要修改配置文件的端口,避免冲突,或者可以分开启动,分开试),启动完毕后,查看 FlinkWebUI 是否可以正常访问,把相关信息录入到资源中心。
- 来到数据生产,在作业配置中选择 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 的最新源码资料等,功能发布之后也会第一时间分享。
感兴趣的朋友请关注公众号 螺旋编程极客 加入星球,我们一起成长,一起进步。
Great article! I really appreciate the clear and detailed insights you've provided on this topic. It's always refreshing to read content that breaks things down so well, making it easy for readers to grasp even complex ideas. I also found the practical tips you've shared to be very helpful. Looking forward to more informative posts like this! Keep up the good work!