Исключение пикеля фрейма данных PySpark: ожидаемые нулевые аргументы для построения ClassDict (для pyspark.ml.linalg.ДенсеВектор)

#python #pyspark #apache-spark-mllib

Вопрос:

Я не могу выбрать фрейм данных, преобразованный в модели классификатора onevsrest.

Описание ошибки: net.razorvine.pickle.Исключение PickleException: ожидаемые нулевые аргументы для построения ClassDict (для pyspark.ml.linalg.ДенсеВектор)

 df = spark.sql("select distinct * from MasterData table")
df.select("*").show(5)
 

введите описание изображения здесь

 df = df.withColumn("featureval", array(df["featureval"]))

countVectors = CountVectorizer(inputCol="featureval", outputCol="features1", vocabSize=10000, minDF=5)
label_stringIdx = StringIndexer(inputCol = "Type", outputCol = "label")
pipeline = Pipeline(stages=[countVectors, label_stringIdx])
pipelineFit = pipeline.fit(df)
dataset = pipelineFit.transform(df)


dataset.select("*").show(5)
 

введите описание изображения здесь

 (train, test) = dataset.randomSplit([0.8, 0.2])

lr = LogisticRegression(maxIter=10, tol=1E-6, fitIntercept=True)
ovr = OneVsRest(classifier=lr)
ovrModel = ovr.fit(dataset)
predictions = ovrModel.transform(test)
 

Теперь , когда я пытаюсь выбрать predictions.select("*").show(10) фрейм данных, я получаю исключение pickle.

Любая помощь будет очень признательна!! Заранее спасибо