2017-10-11 6 views
-2

다음 스키마 요소가있는 행에서 목록을 검색하려고합니다.row.getList java.lang.ClassCastException : java.math.BigDecimal을 scala.collection.Seq에 캐스팅 할 수 없습니다.

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

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

나는 다음과 같은 결과를 얻을

를 사용하여 인쇄

WrappedArray(Some String value) 

하지만 내가 사용 목록 로 해당 인덱스에 데이터를 인쇄 할 때 ....

row.getList(0) 

다음과 같은 예외가 발생합니다

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

왜 이런 일이 발생하고 어떻게 해결 될 수 있는지에 대한 아이디어가 있습니까?

+0

당신이 –

+0

첫 번째 코드 블록이 유형의 열을 포함하지 않는 printSchema –

+0

스키마의 결과를 가지고 인쇄 스키마를 추가 할 수'BigDecimal' 다시 –

답변

0

실제로 스키마에서 잘못된 인덱스를 가져 왔습니다. 필자는 getList의 색인이 df.printSchema를 사용할 때 표시된 요소의 색인을 기반으로한다고 가정했습니다. 그러나 나는 틀렸다. 6 개의 포션으로 해제.