Hadoop имеет собственный интерфейс сериализации (записываемый), который предназначен для того, чтобы свести к минимуму количество производимого мусора.Объекты, реализующие его, являются изменяемыми и используются повторно, когда работает маппер или редуктор, уменьшая количество мусора.Кроме того, правильно разработанные Writables могут быть написаны различными версиями кода, что устраняет внутреннюю проблему Serializable.
Spark не имеет собственной сериализации и по умолчанию использует собственную сериализацию Java.Он не очень эффективен, и можно заставить использовать свечу Kryo , которая иногда дает 10-кратное увеличение производительности.Однако при использовании Kryo все пользовательские классы должны быть зарегистрированы в SparkConf перед запуском задания.