Flink 是流式传输的明显选择,但是Spark
已经成熟ML pipelines
,是否可以在 Spark 中训练模型,将其保存为 CrossValidatorModel
并部署到 Flink
中的流式处理数据?都在scala
?
Flink 目前(2017 年 3 月,Flink 1.2(不支持为流提供机器学习模型。但是,这是社区目前正在讨论的功能。
请随时在 Flink 中提交 JIRA 以请求该功能。
在 Flink 获得官方支持之前,可能还有其他方法可以将模型加载到 Flink 中。(免责声明:我真的不是Spark ML的专家(。从JavaDocs来看,CrossValidatorModel
似乎有一个方法write()
,它返回一个带有save(String path)
方法的MLWriter
。
你可以在 Spark 中构建模型,使用 MLWriter
保存模型,然后使用 MLReader
在 Flink 中再次加载它并在流中使用它。