1
が動作していませんか?Registring Kryoクラスは、私は次のコードを持っている
が動作していませんか?Registring Kryoクラスは、私は次のコードを持っている
あなたはScalaとJavaを混在させています。スカラ座では、あなたが(代わりにClass<?>[]
の)Array[Class[_]]
を定義することができます。
val conf = new SparkConf()
.setAppName("MyApp")
.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
.registerKryoClasses(Array[Class[_]](
Class.forName("org.apache.hadoop.io.LongWritable"),
Class.forName("org.apache.hadoop.io.Text")
));
val sc = new SparkContext(conf)
は、私たちも少し良く行うことができます。間違った文字列リテラルを使用して、私たちのクラスを取得しないようにするために、我々は実際にクラスを利用し、そのクラス型を取得するためにclassOf
を使用することができます。
import org.apache.hadoop.io.LongWritable
import org.apache.hadoop.io.Text
val conf = new SparkConf()
.setAppName("MyApp")
.set("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
.registerKryoClasses(Array[Class[_]](
classOf[LongWritable],
classOf[Test],
))
val sc = new SparkContext(conf)
これは実際に動作していますか?前回は1.5で試しましたが効果がありませんでした。私はクラスKryoを登録するJavaクラスを作成しなければなりませんでしたし、クラスを私のシリアライザとして使用する必要がありました。 – eliasah
@eliasah私はSpark 1.6.1を使用し、そのようなkryoクラスの登録は私のために働きます。 –
これは評論家ではありません。謙虚な質問だけ! :) – eliasah