1.业务背景
该业务为信贷业务,业务流程图如下:
数据部门主要是对两次用户数据进行存储和解析转换,存储用的ES来存(将两次用户数据合并存为一条)
2.开发
由于之前业务是通过spark消费kafka数据进行计算,最后落地到ES上,所以这次需求下来,也直接采用了这个方案。
于是开发阶段就确定,第一次数据通过spark计算指标之后,就直接落地ES,然后第二次ES过来之后,通过申请号(同一个用户申请号一致)将两条数据合并,最后再落ES。
在这样的方案下,开发进行得很顺利。
3.测试
在测试阶段,利用本地idea跑spark程序进行联调测试得,当然测试也很顺利得通过。
4.上线
临近上线,我早早的到线上环境部署,完蛋,部署报错,java.lang.NoSuchFieldError: INSTANCE,于是Google了一下,好吧 版本冲突。心想,哎呀 这个简单呀。然后回到开发环境一顿操作。PS:还发现了RestHighLevelClient对象没有单例,然后把单例加上了。
操作一通后,发现还有测试集群环境这个东西,之前居然没有想到。然后部署了测试集群环境,发现主要是httpcli

本文记录了一次信贷业务上线过程中遇到的ES版本冲突、Spark与Flink转换问题,以及解决这些问题的经过。从Spark消费Kafka数据到ES存储,因jar包版本不一致导致各种错误,最终通过修改查询方式、处理数据类型和调整打包策略成功解决问题并上线。
最低0.47元/天 解锁文章
8377

被折叠的 条评论
为什么被折叠?



