0


【实时数仓】如果写入ES时,发生故障的处理,不丢数据

思路:将redis的存储的set类型变成hash类型
redis的value类型 (key,value)存储(用户,标记值)
1、通过hsetnx key field value 插入(用户,0)存储在redis里面
这时表示数据已经在redis中,但是没有写入es,如果插入成功
添加到集合当中
2、如果这时已经存在用户,进行下一层判断,判断value是否等于0,等于0表示数据没有写入es
3、成功写入es后,将标记改变
4、为了不重复数据,写入es的时候采用put类型
在这里插入图片描述
优化:后期处理流的时候,建议使用mapPartitions 替代map,减少连接redis的开支


本文转载自: https://blog.csdn.net/weixin_43788859/article/details/122134760
版权归原作者 WK-WK 所有, 如有侵权,请联系我们删除。

“【实时数仓】如果写入ES时,发生故障的处理,不丢数据”的评论:

还没有评论