spark Kryo serialization failed:Buffer overflowエラー
2582 ワード
今日sparkの任務を書く時このような間違いに出会って、私のsparkのバージョンは1.5.1です.
ヒントはkryoシーケンス化バッファがオーバーフローし、job実行に失敗したことです.じゃ、バッファを大きくしてください.答えを検索した.
このように設定できると言います.
しかし、テストの時、sparkはこれをspark 1に設定することを提示した.4以降は古いので、設定に使うことをお勧めします.
では、変更します.
問題が解決する.
転載先:https://www.cnblogs.com/fillPv/p/5045928.html
1 Exception in thread "main" com.esotericsoftware.kryo.KryoException: Buffer overflow. Available: 0, required: 124
2 at com.esotericsoftware.kryo.io.Output.require(Output.java:138)
3 at com.esotericsoftware.kryo.io.Output.writeBytes(Output.java:220)
4 at com.esotericsoftware.kryo.io.Output.writeBytes(Output.java:206)
5 at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer.write(DefaultArraySerializers.java:29)
6 at com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ByteArraySerializer.write(DefaultArraySerializers.java:18)
7 at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:568)
8 at carbonite.serializer$write_map.invoke(serializer.clj:69)
ヒントはkryoシーケンス化バッファがオーバーフローし、job実行に失敗したことです.じゃ、バッファを大きくしてください.答えを検索した.
このように設定できると言います.
1 SparkConf sparkConf = new SparkConf();
2 sparkConf.set("spark.kryoserializer.buffer.mb","128");
3 JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf);
しかし、テストの時、sparkはこれをspark 1に設定することを提示した.4以降は古いので、設定に使うことをお勧めします.
1 spark.kryoserializer.buffer
では、変更します.
1 SparkConf sparkConf = new SparkConf();
2 sparkConf.set("spark.kryoserializer.buffer","64");
3 JavaSparkContext javaSparkContext = new JavaSparkContext(sparkConf);
問題が解決する.
転載先:https://www.cnblogs.com/fillPv/p/5045928.html