Étincelle d'Erreur:attendu des arguments zéro pour la construction de ClassDict (pour numpy.de base.multiarray._reconstruct)

J'ai un dataframe Spark dans lequel l'une des colonnes contient un tableau.Maintenant,j'ai écrit un séparé de l'UDF, qui convertit le tableau à un autre tableau avec des valeurs distinctes dans le seulement. Voir l'exemple ci-dessous:

Ex: [24,23,27,23] devrait se converti à [24, 23, 27]
Code:

def uniq_array(col_array):
    x = np.unique(col_array)
    return x
uniq_array_udf = udf(uniq_array,ArrayType(IntegerType()))

Df3 = Df2.withColumn("age_array_unique",uniq_array_udf(Df2.age_array))

Dans le code ci-dessus, Df2.age_array est la matrice sur laquelle je suis en application de l'UDF pour obtenir une autre colonne "age_array_unique" qui ne doivent contenir que des valeurs uniques dans le tableau.

Cependant, dès que je lance la commande Df3.show(), j'obtiens l'erreur:

net.razorvine.cornichon.PickleException: attendu des arguments zéro pour la construction de ClassDict (pour numpy.de base.multiarray._reconstruct)

Quelqu'un peut s'il vous plaît laissez-moi savoir pourquoi ce qui se passe?

Merci!

aparté: pour ceux qui cherchent à la somme des matrices de même des erreurs (dans pyspark): u_sum = udf(lambda x: somme(x.tolist())). Ici, x peut être un VectorUDT. De poster ici car la recherche de l'erreur rendements de cette page tant que le premier résultat.

OriginalL'auteur Preyas | 2016-08-16