flink代码重构

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

#牛客AI配图神器#  #校招#  #校招入职后的感受#
全部评论

相关推荐

讲解你都学了哪些?巴拉巴拉写数仓,springboot 写个http接口微服务了解吗?--不了解面试官说:我的理解是  巴拉巴拉虽然我也不干这个spark和flink的区别:spark批,flink实时,spark stream 微批flink实时是一条一条的嘛?他会不会很慢?  --讲了是,但是他有window 巴拉巴拉不知道讲的对不对flume  +sqoop是干什么用的;--flume 数据日志采集等等  sqoop不知道你比较熟悉什么架构,--spark,flink讲一讲flink是怎么运行的--想了一下不知道, 面试官讲就其实spark,flink就是在客户端怎么样和集群怎么样计算怎么样   (架构还是得更加了解)flink env中都有什么?--集群配置,什么名字来着、并行度  讲的不全dophinshedule了解吗?他的底层实现了解吗?你这个项目是什么网上做的吗?开源的吗哪里学的?讲一讲java基础:微服务了解吗 ?你知道java有哪些集合吗?--set  --hashset有什么区别?还有吗?面试官讲其实hashset 就是底层是hashmap实现的  巴拉巴拉  set其实是java的一个基础类bala什么时候用hashset 什么时候用hashmap--hashset通常指针对于处理去重操作,hashma用于需要存储数据时,并且hashset对比list他的查找插入时间复杂度是o(1)hashset 存放一个已有数据的时候会怎么办?--我说不会放进去 ,面试官问只是不会放进去吗?代码:链表反转  本来想让我写集合相关的,看我集合不熟就改这个了。--注意面向对象的代码书写细节反问:你们做什么业务?--主要就是flume-sqoop一些数据日志采集  一些简单的etl   包括dophinshedule一些流式管理;还有一些仓库维护;对我有什么建议吗?--实习面试侧重于一些基础一些的面试,不会问太多项目,校招侧重于具体的框架,最好能够重点了解某一个框架能够阅读源码,对于基础的语言需要重点了解不一定非得是java,但是肯定需要了解,技术栈不一定要宽,要深。没问hive kafka这个我也不会总结:要注重基础语言知识和深挖某一框架,加强基础语言代码了解
查看17道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务