首页 > 解决方案 > 火花结构化流的 LSHModel

问题描述

显然,来自 spark 2.4 的 MLLib 的 LSHModel 支持 Spark Structured Streaming ( https://issues.apache.org/jira/browse/SPARK-24465 )。

但是,我不清楚如何。例如,可以将approxSimilarityJoinfromMinHashLSH转换 ( https://spark.apache.org/docs/latest/ml-features#lsh-operations ) 直接应用于流式数据帧?

我在网上找不到更多关于它的信息。有人可以帮助我吗?

标签: apache-sparkspark-structured-streaminglsh

解决方案


你需要

  1. 将经过训练的模型(例如modelFitted)保存在您的流式处理作业可访问的某个位置。这是在您的流媒体作业之外完成的。
modelFitted.write.overwrite().save("/path/to/model/location")
  1. 然后在您的结构化流式处理作业中加载此模型
import org.apache.spark.ml._
val model = PipelineModel.read.load("/path/to/model/location")
  1. 将此模型应用于您的流数据帧(例如df
model.transform(df)

// in your case you may work with two streaming Dataframes to apply `approxSimilarityJoin`.

可能需要将流数据帧转换为模型预测中使用的正确格式。


推荐阅读