2016-08-23 4 views
3

Spark 2.0では、ScalaでUDTを作成したことがわかりましたが、もはや適用されないようです。 UserDefinedTypeクラスはprivateと設定されており、コメントはSpark 2.0でユーザー定義型を使用するには?

です。注:以前はSpark 1.xの開発者APIでした。これをSpark 2.0で非公開にしているのは、データセットでうまく機能する新しいバージョンを作成する可能性が非常に高いからです。

UDTを宣言する新しいメカニズムであることがUDTRegistrationの意図かもしれないが、それはまた、privateです。

これまでのところ、Spark 2.0で独自のUDTを宣言する方法はないことがわかりました。この結論は正しいのですか?

+5

正しいです。 Spark 2.0の場合、以前のUDTメカニズムは互換性の問題で削除されましたが、今のところ置き換えはありません。 – zero323

答えて

2

Spark 2.xにはSpark 1.xのようなAPIとして使用するUDTはありません。

このチケットSPARK-14155には、新しいAPIを作成するためにprivetが作成されています。私たちが望むSpark 1.5以降のチケットは、Spark 2.2 SPARK-7768で閉店する予定です。

あなたのUDTを作成するには今はタイプが良くありませんが、カスタムオブジェクトをDataSetに設定できるトリックはありません。 Hereがその一例である。

関連する問題