2016-08-09 2 views
0

私はスパーク1.6に小さなプロジェクトを持っていると私はそのは多くの場所で私にジェネリックエンコーダを実装するにはどうすればよいですか?

Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._ Support for serializing other types will be added in future releases. 

の警告やエラー を与えるスパーク2.0に移行するとき、したがって、私がしたいので、私はジェネリックエンコーダを実装したいですジェネリックエンコーダを実装し、それをパッケージオブジェクトに入れます。私はspark 2.0で汎用エンコーダを実装する方法を知りたいだけです。

+0

これは単なる特性です。http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.Encoder – Alec

答えて

2

通常、カスタムエンコーダの開発は、org.apache.spark.sql.Encodersオブジェクトから既存のエンコーダを作成することから始まります。

Sparkの多くの場所で、使用されているエンコーダがExpressionEncoder(つまりSparkSession.createDataset)のインスタンスであるかどうかを確認するため、エクスプレッションエンコーダをカスタム開発のベースとして検討することをおすすめします。

関連する問題