Должен ли тип значения в типе hadoop реализовывать доступный для записи интерфейс?
Я пытаюсь понять, как реализовать пользовательский тип значения для mapreduce Framework. Основываясь на этом посте ( MapReduce - WritableComparables), мне кажется, что тип значения должен реализовывать интерфейс Writable. Это верно?
Я также следил за исходным кодом различными инструментами (например, Import, Export, CopyTable и т. Д.), Предоставленными HBase. Импорт использует Результат как Тип значения. Но Result не реализует интерфейс с возможностью записи. Как шаг сериализации работает в этой ситуации?
1 ответ
Есть Writable
а также WritableComparable
в MapReduce.
Writable
означает, что MR знает, как выполнить поиск вашего объекта, когда он должен быть отправлен по проводам.WritableComparable
еще один шаг вперед означает, что объекты класса, которые его реализуют, могут быть отсортированы.
В реализации MR ключи будут сравниваться и / или сортироваться во время процедуры тасования, что означает, что WritableComparable
, значения нужно отправлять только по проводам, поэтому Writable
достаточно.