Вы можете расширить RecordReader
и / или FileInputFormat
и реализовать то, что вам нужно сделать внутри них. Может быть, расширить HbaseTableInputFormat
и переопределить функции, в которых вам нужно другое поведение. (Не работал с HbaseTableInputFormat
, поэтому не уверен, что вы будете делать, просто идея посмотреть)
В проекте, над которым я работал, нам пришлось расширить RecordReader
и FileInputFormat
, чтобы иметь возможность обрабатывать файлы журналов WC3. Причина была в том, чтобы каждый маппер имел доступ к заголовкам, которые находятся только в начале файла, а не в каждом чанке.
Я не работал над их расширением и не уверен в вашей конкретной ситуации, он может (или нет) работать для расширения и реализации различных функциональных возможностей с помощью RecordReader
и / или FileInputFormat
.
У меня, к сожалению, нет знакомства с системами, которые мне бы хотелось, чтобы я мог уточнить это с дальнейшими советами.
Надеюсь, то, что я сказал, больше указывает на правильное направление. :)