如何解决Spark 结构化流上的 LSHModel
显然,spark 2.4 中 MLLib 的 LSHModel 支持 Spark Structured Streaming (https://issues.apache.org/jira/browse/SPARK-24465)。
但是,我不清楚如何。例如,来自 approxSimilarityJoin
转换 (https://spark.apache.org/docs/latest/ml-features#lsh-operations) 的 MinHashLSH
可以直接应用于流式数据帧吗?
我没有在网上找到更多关于它的信息。有人可以帮我吗?
解决方法
你需要
- 将经过训练的模型(例如
modelFitted
)保留在您的流媒体作业可访问的某个位置。这是在您的流媒体工作之外完成的。
modelFitted.write.overwrite().save("/path/to/model/location")
- 然后在结构化流作业中加载此模型
import org.apache.spark.ml._
val model = PipelineModel.read.load("/path/to/model/location")
- 使用 将此模型应用于您的流式数据帧(例如
df
)
model.transform(df)
// in your case you may work with two streaming Dataframes to apply `approxSimilarityJoin`.
可能需要将流式数据帧转换为模型预测中使用的正确格式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。