首页 文章

Kafka流的最佳实践

提问于
浏览
3

我们有一个用python编写的预测服务来提供机器学习服务,你发送一组数据,它会给出异常检测或预测等等 .

我想使用Kafka流来处理实时数据 .

有两种方法可供选择:

  • Kafka流作业只完成 ETL 功能:加载数据,并进行简单转换并将数据保存到弹性搜索 . 然后启动计时器定期从ES加载数据并调用预测服务来计算并将结果保存回ES .

  • Kafka流工作除了 ETL 之外还做了所有工作,当Kafka流工作完成 ETL 然后将数据发送到预测服务,并将计算结果保存到Kafka,消费者将结果从Kafka转发到ES .

我认为第二种方式更实时,但我不知道在流媒体工作中做这么多预测任务是个好主意 .

此类申请是否有任何共同的模式或建议?

1 回答

  • 1

    是的,我也会选择第二种选择 .

    您可以做的是使用Kafka作为ML-Training模块和预测模块之间的数据管道 . 这些模块可以在Kafka Streams中很好地实现 .

    看看下图:

    Machine Learning pipeline on top of Apache Kafka

相关问题