基于kafka和sparkstreaming的实时数据处理系统

时间:2023-01-08 16:15:00

目前处理的数据主要是文本数据,挖掘处理也是nlp和一些统计分析的处理,但是采用的流处理的系统框架应该是通用的。体统分为实时部分和H/T+1部分,数据流架构图如下:

基于kafka和sparkstreaming的实时数据处理系统

实时部分开发时考虑的几个主要问题

  1. spark streaming和spark structured streaming的选择
  2. 手动实现spark streaming和zk之间的offset同步和交互,保证exactly-once process和流处理的容错性保证
  3. spark streaming 流处理的参数配置,如消费速率,间隔,backpressure策略等,保证流处理高效性和稳定性
  4. spark streaming 在不重启的情况下进行定时全局变量的更新机制,如依赖词库的更新
  5. 流处理结果持久化方式的选择

具体的解决方法先留个坑,后续再补上。另外,基于流处理效率和具体的业务需求,开发过程中主要将非统计向的,低计算复杂度的放入实时的部分,统计向的,计算需拉取较长时间历史数据的,高计算负责的任务放入非实时的部分。