我们有一个用python编写的预测服务,用于提供机器学习服务,您向它发送一组数据,它将提供异常检测或预测等。
我想使用Kafka流来处理实时数据。
有两种选择方式:
Kafka流作业仅完成ETL
功能:加载数据,并进行简单的转换并将数据保存到Elastic Search。然后启动计时器,定期从ES加载数据并调用预测服务以计算结果并将结果保存回ES。
Kafka流作业完成ETL
之外的所有工作,当Kafka流作业完成ETL
然后发送数据以预测服务并将计算结果保存到Kafka时,消费者会将结果从Kafka转发到ES。
我认为第二种方法更实时,但我不知道在流作业中进行如此多的预测任务是一个好主意。
这种应用程序是否有共同的模式或建议?