Я пишу задание MapReduce в oop, где производительность очень важна, и мне нужно решить, как передать несколько значений между моими Mappers и редукторами (и, возможно, записать их на диск для дальнейшей цепочки заданий)
В моем случае у меня есть Text
, за которым следуют два IntWritable
с каждым значением. Мой вопрос заключается в том, должен ли я выводить значение в виде объединенных строк, таких как Word:Number:Number
, или я должен реализовать пользовательский Writable
, который имеет 3 поля для оптимальной производительности?
Меня интересуют компромиссы между сериализация и приведение / разделение строк (даже с более производительной библиотекой, такой как разделитель Guava)