无法在 mleap 中序列化 apache spark transformer
Unable to serialize a apache spark transformer in mleap
我使用 Spark 2.1.0 和 Scala 2.11.8。
我正在尝试在 apache spark 中构建一个 Twitter 情绪分析模型并使用 MLeap 为其提供服务。
当我 运行 不使用 mleap 的模型时,一切顺利。
仅当我尝试以 mleap 的序列化格式保存模型时才会出现问题,以便稍后使用 mleap 为模型提供服务。
这是抛出错误的行 -
val modelSavePath = "/tmp/sampleapp/model-mleap/"
val pipelineConfig = json.get("PipelineConfig").get.asInstanceOf[Map[String, Any]]
val loaderConfig = json.get("LoaderConfig").get.asInstanceOf[Map[String, Any]]
val loaderPath = loaderConfig
.get("DataLocation")
.get
.asInstanceOf[String]
var data = sqlContext.read.format("com.databricks.spark.csv").
option("header", "true").
option("delimiter", "\t").
option("inferSchema", "true").
load(loaderPath)
val pipeline = Pipeline(pipelineConfig)
val model = pipeline.fit(data)
val mleapPipeline: Transformer = model
我在最后一行得到 java.util.NoSuchElementException: key not found: org.apache.spark.ml.feature.Tokenizer 。
当我进行快速搜索时,我发现 mleap 并不支持所有的转换器。但我找不到详尽的清单。
如何确定我正在使用的转换器是否实际上不受支持或是否存在其他错误。
我是 MLeap 的创建者之一,我们支持 Tokenizer!我很好奇,您要使用哪个版本的 MLeap?我认为您可能正在查看 TrueCar 的过时代码库,请在此处查看我们的新代码库:
https://github.com/combust/mleap
我们这里也有相当完整的文档,包括受支持转换器的完整列表:
文档:http://mleap-docs.combust.ml/
变形金刚列表:http://mleap-docs.combust.ml/core-concepts/transformers/support.html
我希望这对您有所帮助,如果仍然无法正常工作,请在 github 中提交问题,我们可以帮助您从那里进行调试。
我使用 Spark 2.1.0 和 Scala 2.11.8。
我正在尝试在 apache spark 中构建一个 Twitter 情绪分析模型并使用 MLeap 为其提供服务。
当我 运行 不使用 mleap 的模型时,一切顺利。 仅当我尝试以 mleap 的序列化格式保存模型时才会出现问题,以便稍后使用 mleap 为模型提供服务。
这是抛出错误的行 -
val modelSavePath = "/tmp/sampleapp/model-mleap/"
val pipelineConfig = json.get("PipelineConfig").get.asInstanceOf[Map[String, Any]]
val loaderConfig = json.get("LoaderConfig").get.asInstanceOf[Map[String, Any]]
val loaderPath = loaderConfig
.get("DataLocation")
.get
.asInstanceOf[String]
var data = sqlContext.read.format("com.databricks.spark.csv").
option("header", "true").
option("delimiter", "\t").
option("inferSchema", "true").
load(loaderPath)
val pipeline = Pipeline(pipelineConfig)
val model = pipeline.fit(data)
val mleapPipeline: Transformer = model
我在最后一行得到 java.util.NoSuchElementException: key not found: org.apache.spark.ml.feature.Tokenizer 。
当我进行快速搜索时,我发现 mleap 并不支持所有的转换器。但我找不到详尽的清单。
如何确定我正在使用的转换器是否实际上不受支持或是否存在其他错误。
我是 MLeap 的创建者之一,我们支持 Tokenizer!我很好奇,您要使用哪个版本的 MLeap?我认为您可能正在查看 TrueCar 的过时代码库,请在此处查看我们的新代码库:
https://github.com/combust/mleap
我们这里也有相当完整的文档,包括受支持转换器的完整列表:
文档:http://mleap-docs.combust.ml/
变形金刚列表:http://mleap-docs.combust.ml/core-concepts/transformers/support.html
我希望这对您有所帮助,如果仍然无法正常工作,请在 github 中提交问题,我们可以帮助您从那里进行调试。