2015-11-03 10 views
5

Sto eseguendo Spark 1.5.1 tramite il codice Scala e chiamando il metodo del treno ALS (mllib). Il mio codice utilizza l'esecutore di MESOS. Poiché i dati sono grandi, viene visualizzato il seguente errore:Come risolvere "Un messaggio di protocollo è stato rifiutato perché era troppo grande" da Google Protobuf in Spark su Mesos?

15/11/03 12:53:45 INFO TaskSetManager: Starting task 7.0 in stage 0.0 (TID 7, , PROCESS_LOCAL, 128730328 bytes) [libprotobuf ERROR google/protobuf/io/coded_stream.cc:171] A protocol message was rejected because it was too big (more than 67108864 bytes). To increase the limit (or to disable these warnings), see CodedInputStream::SetTotalBytesLimit() in google/protobuf/io/coded_stream.h.

Qualche idea su come aumentare il limite?

risposta

1

Sembra che tu stia colpendo il limite per "spark.kryoserializer.buffer.max". Controlla se protobuf sta usando il serializzatore di kryo. Se sì, è necessario premere il limite di "spark.kryoserializer.buffer.max", che può essere impostato fino a 2047m.

http://spark.apache.org/docs/1.5.1/configuration.html

Problemi correlati