python - 在 Apache Spark : py4j. 协议(protocol)中导入气泡水 (H2O) 管道时出错。Py4JError

标签 python apache-spark pyspark h2o sparkling-water

我最近在最后阶段使用 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 版本时才出现此错误。是否与某些环境变量或包版本的定义有关?

最佳答案

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

关于python - 在 Apache Spark : py4j. 协议(protocol)中导入气泡水 (H2O) 管道时出错。Py4JError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60112299/

相关文章:

python - 带有额外参数的 map 分区 pyspark

apache-spark - 在没有安装 Hadoop 的情况下在 Spark 上提交 .py 脚本

python - 在 RX 中构建双重无限轮询行为

python - 按值分组列表

python elementtree xml追加

python - 通过将逗号分隔的列的值替换为基于另一个数据框的查找来创建新列

python - PySpark 尝试运行 Word2Vec 示例时出错

python - 如何使用 PYTHON 遍历目录中的文件并将 INFO 插入 MySQL 数据库

apache-spark - 如何使用 Spark 将 unix 时间戳转换为给定的时区

apache-spark - Jupyter 和 PySpark : How to run multiple notebooks