2015-10-18 33 views
7

私はArray[String]をSparkの寄木細工ファイルに保存しました。Sparkから文字列の配列を読み取る

私が使用してそれを読む:

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

しかし得る:ここで

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

printSchema()の結果である:

getAs()を変更する必要がありますどのように
root                    
|-- result: array (nullable = true) 
| |-- element: string (containsNull = true) 

+5

'row.getAs [Seq [String]](" result ")'は動作しますか? – Reactormonk

+0

または 'row.getAs [scala.collection.mutable.WrappedArray [String]](" result ")'です。 @ Reactormonk私はあなたがそれを答えるべきだと思います。 – zero323

+0

@ zero323 'Seq'と' WrappedArray'が動作します。あなたはどちらかを使うべきなのですか?使い方よりもパフォーマンスに興味があります。 – BAR

答えて

16

row.getAs[Seq[String]]("result")は機能しますか?

+2

Sparkのように見えますが、この場合は暗黙的に使用できます。私がチャンスを得たら、それをチェックしPRを提出します。 – BAR

+0

@BARあなたはPRを提出したのか、チケットを提出したのですか?私はバットから1つを見ていないと私はちょうど1.6.1でこれで少し得た – placeybordeaux

関連する問題