В чем преимущества использования NullWritable для null ключей/значений с использованием текстов null (т.е. new Text(null)). Я вижу следующее из книги "Hadoop: The Definitive Guide".
NullWritableявляется специальным типомWritable, так как он имеет сериализацию нулевой длины. Нет байтов записываются в поток или считываются с него. Он используется в качестве заполнителя; например, в MapReduce, ключ или значение можно объявить какNullWritable, когда вам не нужно для использования этой позиции - она эффективно сохраняет постоянное пустое значение. NullWritable также может быть полезным в качестве ключа вSequenceFile, если вы хотите сохранить список значений, в противоположность для пар ключ-значение. Это неизменный синглтон: экземпляр можно получить, вызвавNullWritable.get()
Я не понимаю, как выписывается вывод с помощью NullWritable? Будет ли в исходном выходном файле одно постоянное значение, указывающее, что ключи или значения этого файла null, так что среда MapReduce может игнорировать чтение ключей/значений null (в зависимости от того, что null)? Кроме того, как на самом деле тексты null сериализованы?
Спасибо,
Венкат