无法在mleap

时间:2017-05-22 13:05:02

标签: apache-spark apache-spark-sql apache-spark-mllib 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:找不到密钥:org.apache.spark.ml.feature.Tokenizer在最后一行。

当我快速搜索时,我发现mleap不支持所有变形金刚。但我无法找到详尽的清单。

如何确定我使用的变压器是否实际上不受支持或是否存在其他错误。

1 个答案:

答案 0 :(得分:0)

我是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中提出问题,我们可以帮助您从那里进行调试。