2017-04-12 10 views
0

のスパークユニットテストを開発中に、配列を含むDataframeを作成しようとしています。私は実際にそのサイズに興味があるので、Array(実際の複雑なデータ型)のものは気にしません。Sparkデータフレームを作成するには、タイプAnyの配列または_

val data = spark.createDataframe(Seq(
    ("a", 1, Array()), 
    ("b", 2, Array()) 
)).toDF("columnA", "columnB", "columnC") 

私は(columnCを削除することが正常に動作します)columnCに関連して、次のエラーを取得:scala.MatchError: Nothing

だから私はArray[Any]()を使用してみましたし、私が得た:Schema for type Any is not supported

だから私はArray[_]()を使用してみましたと私は得た:unbound wildcard type

私はArray[Object]()を使用しようとした:Schema for type java.lang.Object is not supported

最後に、私はStackoverflowについて質問することにしました...

+0

スパークの種類には関係ありません。配列を格納する方法を知るためには、型を知っていて、正しいエンコーダを呼び出す必要があります。 – zero323

+0

Seq()を試すことができますか? –

答えて

0

データフレームはlimited set of data typesをサポートしています。 ObjectおよびAnyは含まれません。 Array[Int]()(一例として)を使用すると、スキーマの推論で問題にならないタイプの空の配列を作成できます。

関連する問題