2017-11-12 7 views
0

私は、必要に応じて、私は登録を設定しているスパーク2.1にシリアライザとしてkryo使用していますが、私は問題に直面している、私はこのクラスを登録することはできません。スパークKryoレジ

org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex$SerializableFileStatus$SerializableBlockLocation[]

私が試してみましたclassOf[Array[Class.forName("org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex$SerializableFileStatus$SerializableBlockLocation").type]]と他の組み合わせですが、私はこのクラスの登録に成功しません。

私もレジスタのようなJavaクラスを作成し、 org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex$SerializableFileStatus$SerializableBlockLocation[].class;

どれでも手がかりが高く評価され、感謝としてクラスを登録しようとしています。

答えて

0

私は私が使用した、私の質問を解決しています。

kryo.register(ClassTag(Class.forNameの( "org.apache.spark.sql.execution.datasources.PartitioningAwareFileIndex $ SerializableBlockLocationを"))ラップ.runtimeClass)

実行時に配列にラップされたクラス名の登録が可能です。