Pyspark ml .py4j.protocol.Py4JJavaError 中的列不匹配:调用 o3649.transform 时发生错误

问题描述

我已经训练了一个 pyspark 模型并将管道和模型保存在驱动器中。

现在我正在尝试通过加载管道来预测未来的数据集。

pipelineModel = PipelineModel.load("s3://data-production/pipelineModel_v1")

new_test= pipelineModel.transform(new_df1)

我在未来的数据集中遇到这个错误


Traceback (most recent call last):
  File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py",line 63,in deco
    return f(*a,**kw)
  File "/usr/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py",line 328,in get_return_value
    format(target_id,".",name),value)
py4j.protocol.Py4JJavaError: An error occurred while calling o3649.transform.
: java.lang.IllegalArgumentException: Field "SelectOrder" does not exist.

我的数据集有超过 1000 列的列,如何处理。

我想到了管道。转换将自动处理未来数据集中缺失的列

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)