今天主要对系统一期的代码进行重构优化,重构思路主要是根据ETL整个过程,分成三部分,E(抽取)、T(转换)、L(加载)。对应每部分分别将链式编程中的匿名内部类抽取统一去做管理;此外,flink的作业中涉及大量的配置,包括kafka、mysql、mongodb等等,将配置信息也进行统一管理,对于flink环境的初始化,使用工具类进行包装,这样弄下来对于每个flink的job作业,就显得非常清晰;flink的测试也有门道,本地单机测试和线上集群的结果不一定一致(这里涉及到flink的组件),这里我建议本地通过minicluster就可以快速构建测试。上线就遇到一个问题,在本地通过静态方式初始化配置表,但是线上部署发现获取失败,发现是集群部署时,只能在一个taskManager初始化,其他taskManager无法获取,task如果不在初始化的taskManager执行,就会无法获取。通俗来说多个Jvm只初始化一个Jvm🤗#牛客AI配图神器# #校招# #校招入职后的感受#