2015-10-18 23 views
7

Spark'den bir Parke dosyasına bir Array[String] kaydettim.Spark'den String dizisini oku

row.getAs[Array[String]]("result") 

Ama olsun:

okumak için kullandığım

root                    
|-- result: array (nullable = true) 
| |-- element: string (containsNull = true) 

nasıl getAs() modifiye edilmelidir:

İşte
java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be cast to [Ljava.lang.String; 

printSchema() sonucudur?

+5

'row.getAs [Seq [String]] (" sonuç ") çalışır mı? – Reactormonk

+0

Veya 'row.getAs [scala.collection.mutable.WrappedArray [String]] (" sonuç ")'. @Reactormonk Bence bir cevap vermelisin. – zero323

+0

@ zero323 'Seq' ve' WrappedArray' çalışması. Birini diğerinin üzerinde kullanmanın bir sebebi var mı? Kullanımdan ziyade performans hakkında daha fazla bilgi. – BAR

cevap

16

row.getAs[Seq[String]]("result") mu çalışıyor?

+2

Spark, bu dava için dolaylı olarak kullanabiliyor gibi görünüyor. Bir şansım olursa, kontrol edip PR'yi gönderirim. – BAR

+0

@BAR, bir PR göndermeyi mi yoksa bir bileti mi doldurdunuz? Yarasadan bir tane görmedim ve bunu 1.6.1 ile bitirdim. – placeybordeaux