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