Сериализация переводит объект в представление для передачи или хранения, десериализация восстанавливает его. В Spark это необходимо при обмене данными между процессами.
Что такое сериализация и десериализация, в том числе в контексте Spark?
Сериализация переводит объект в представление для передачи или хранения, десериализация восстанавливает его. В Spark это необходимо при обмене данными между процессами.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сериализация переводит объект в представление для передачи или хранения, десериализация восстанавливает его. В Spark это необходимо при обмене данными между процессами.
Spark передаёт задачи и данные между driver и executors, а также между executors при shuffle. Размер и стоимость сериализации влияют на сетевой трафик, память и время выполнения.
Способ зависит от API, языка и типа данных: Python-объекты и внутренние строки Spark SQL обрабатываются по-разному. Не стоит захватывать в замыкание большие объекты или несериализуемые подключения. Конкретный сериализатор выбирают и проверяют для используемого пути обработки.