h2o-pysparkling-2.4 和 Glue 作业:{"error":"TypeError: 'JavaPackage' object is not callable","errorType":"EXECUTION_FAILURE"}

问题描述 投票:0回答:1

我尝试使用

pysparkling.ml.H2OMOJOModel
使用在 AWS Glue 作业中使用 h2o==3.32.0.2 训练的 MOJO 模型来预测 Spark 数据帧,但出现了错误:TypeError: 'JavaPackage' object is not callable。

我在 AWS 支持中开了一张票,他们确认 Glue 环境没问题,问题可能出在苏打水 (pysparkling) 上。似乎缺少一些依赖库,但我不知道是哪个。 如果我在本地计算机上运行,下面的简单代码可以完美运行(我只需要更改 GBM_grid__1_AutoML_20220323_233606_model_53.zip 的 mojo 路径)

有人可以在胶水作业中成功使用苏打水吗?

职位详情: -胶水版本2.0 --附加-python-模块,h2o-pysparkling-2.4==3.36.0.2-1 -工人类型:G1.X -工人人数:2人 -使用脚本“createFromMojo.py”

createFromMojo.py:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
import pandas as pd
from pysparkling.ml import H2OMOJOSettings
from pysparkling.ml import H2OMOJOModel
# from pysparkling.ml import *

## @params: [JOB_NAME]
args = getResolvedOptions(sys.argv, ["JOB_NAME"])

#Job setup
sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session

job = Job(glueContext)
job.init(args["JOB_NAME"], args)

caminho_modelo_mojo='s3://prod-lakehouse-stream/modeling/approaches/GBM_grid__1_AutoML_20220323_233606_model_53.zip'
print(caminho_modelo_mojo)
print(dir())

settings = H2OMOJOSettings(convertUnknownCategoricalLevelsToNa = True, convertInvalidNumbersToNa = True)
model = H2OMOJOModel.createFromMojo(caminho_modelo_mojo, settings)

data = {'days_since_last_application': [3, 2, 1, 0], 'job_area': ['a', 'b', 'c', 'd']}

base_escorada = model.transform(spark.createDataFrame(pd.DataFrame.from_dict(data)))

print(base_escorada.printSchema())

print(base_escorada.show())

job.commit()
python apache-spark h2o sparkling-water
1个回答
0
投票

我可以按照以下步骤成功运行:

  1. 下载的苏打水分发zip:http://h2o-release.s3.amazonaws.com/sparkling-water/spark-3.1/3.36.1.1-1-3.1/index.html
  2. 依赖的 JAR 路径:s3://bucket_name/sparkling-water- assembly-scoring_2.12-3.36.1.1-1-3.1-all.jar
  3. --附加 python 模块,h2o-pysparkling-3.1==3.36.1.1-1-3.1
© www.soinside.com 2019 - 2024. All rights reserved.