2017-10-11 12 views
-2

J'essaie de récupérer une liste d'une ligne avec l'élément de schéma suivant.row.getList java.lang.ClassCastException: java.math.BigDecimal ne peut pas être converti en scala.collection.Seq

[info] |-- ARRAY_FIELD: array (nullable = false) 
[info] | |-- element: string (containsNull = false) 

Lors de l'impression à l'aide

row.getAs[WrappedArray[String]]("ARRAY_FIELD") 

Je reçois le résultat suivant

WrappedArray(Some String value) 

Mais lorsque je tente d'imprimer les données à cet index comme une liste à l'aide ....

row.getList(0) 

Je reçois l'exception suivante

java.lang.ClassCastException: java.math.BigDecimal cannot be cast to scala.collection.Seq 

Est-ce que quelqu'un a des idées sur pourquoi cela se produit et comment il peut être résolu?

+0

Pouvez-vous ajouter l'impression de schéma –

+0

Le premier bloc de code a les résultats de l'printSchema –

+0

Votre schéma ne contient aucune colonne de type 'BigDecimal' S'il vous plaît vérifier à nouveau –

Répondre

0

Je tirais réellement du mauvais index dans le schéma. J'ai supposé que l'index pour getList était basé sur l'index des éléments montrés en utilisant df.printSchema. Mais je me trompais. Hors de 6 positions.