【问题标题】:Error when importing Sparkling Water (H2O) pipeline in Apache Spark: py4j.protocol.Py4JError在 Apache Spark 中导入苏打水 (H2O) 管道时出错:py4j.protocol.Py4JError
【发布时间】:2020-05-23 12:32:13
【问题描述】:

我最近在最后阶段使用 Sparkling Water 的 AutoML 创建了一个 PySpark 管道(非常类似于 https://github.com/h2oai/sparkling-water/blob/master/py/examples/pipelines/ham_or_spam_multi_algo.py),但是当我从文件中加载我的模型时,我收到了这个错误:

例如:

model = loaded_pipeline.fit(data)
model.write().overwrite().save("examples/build/model")
loaded_model = PipelineModel.load("examples/build/model")


py4j.protocol.Py4JError: ai.h2o.sparkling.ml.models.H2OMOJOModel.H2OSupervisedMOJOModel does not exist in the JVM

我有当前的软件包/版本:H2O (3.28.0.3)、h2o-pysparkling-2-4 (3.28.0.3-1)、PySpark (2.4.3)、Py4j (0.10.7)。 当我将 H2O/Sparkling Water 更新到 3.28 版本时,我才收到此错误。会不会和某些环境变量或包版本的定义有关?

【问题讨论】:

    标签: python apache-spark pyspark h2o sparkling-water


    【解决方案1】:

    请在代码开头运行from pysparkling import *。此调用确保我们将 Sparkling Water 依赖项添加到 Spark 应用程序。

    【讨论】:

    • 我在代码的开头有那一行。经过一些调试,我意识到管道中有一些转换器(不是来自 pysparkling 包)导致错误。我删除它们并且导入工作正常。还是谢谢你:)
    猜你喜欢
    • 2015-09-23
    • 2017-11-15
    • 1970-01-01
    • 2019-03-03
    • 2017-02-11
    • 1970-01-01
    • 2022-01-23
    • 2023-03-29
    • 2019-08-08
    相关资源
    最近更新 更多