Почему HDFS сериализуется с использованием буферов протокола, а не API сериализации Java? - PullRequest
1 голос
/ 10 апреля 2019

Почему HDFS использует буфер протокола вместо API сериализации Java?

Что делать, если я хочу отправить объект из узла данных в другой узел данных через сериализацию Java?

Я попробовал пару вещей и получаю следующую ошибку: java.io.WriteAbortedException: запись прервана; java.io.NotSerializableException: java.lang.Thread

1 Ответ

0 голосов
/ 10 апреля 2019

Поскольку форматы с определением внешней схемы, такие как буфер протокола, занимают больше места, чем встроенная сериализация Java, которая создает очень подробный файл.

HDFS может использовать другой формат для хранения данных. Обычно предпочтительны форматы, которые обеспечивают лучшую эффективность использования пространства, но не слишком загружают процессор. Некоторые форматы предназначены для конкретной цели, которая помогает в обработке данных:

  • Avro , который ориентирован на строки
  • Паркет , ориентированный на колонну

java.io.NotSerializableException: java.lang.Thread исключение показывает, что вы пытаетесь сериализовать Thread, который не реализует Serializable

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...