0
Flink是流式傳輸的明顯選擇,但Spark
已經成熟ML pipelines
,是否可以在火花中訓練模型,將其保存爲CrossValidatorModel
並將其部署到Flink
中的流式數據?全部在scala
?是否可以將Spark ML CrossValidatorModel應用於Flink Streaming數據流?
Flink是流式傳輸的明顯選擇,但Spark
已經成熟ML pipelines
,是否可以在火花中訓練模型,將其保存爲CrossValidatorModel
並將其部署到Flink
中的流式數據?全部在scala
?是否可以將Spark ML CrossValidatorModel應用於Flink Streaming數據流?
Flink目前(2017年3月,Flink 1.2)不支持爲流提供機器學習模型。但是,這是社區目前正在討論的功能。
隨意在Flink提交JIRA以請求該功能。
在Flink提供官方支持之前,可能還有其他方式將模型加載到Flink中。 (免責聲明:我真的不是Spark ML的專家)。 從JavaDocs看來,CrossValidatorModel
有一個方法write()
,它返回MLWriter
和save(String path)
方法。
您可以在Spark中構建模型,使用MLWriter
保存模型,然後使用MLReader
在Flink中再次加載並在流中使用它。
Flink是否支持讀取Spark模型?如果不是,Spark閱讀器和'transform'都需要一個功能性的Spark羣集...導出爲某種獨立於平臺的格式可能是更好的選擇。 – zero323
回答你的問題:not yet :)你能推薦一個獨立的格式嗎? –
[(J)PMML](https://github.com/jpmml/jpmml-spark)上次檢查時工作得相當好。 [MLeap](https://github.com/combust/mleap)很有趣,但我不確定它是如何與Flink一起使用的。這一切我知道現有的嘗試。 [PFA](http://dmg.org/pfa/)很有前途,並且有[初始Java實現](https://github.com/opendatagroup/hadrian)。 – zero323