У нас есть сценарий использования, когда мы запускаем задания только для карт с примерно 600 файлами деталей, делаем некоторые улучшения и создаем 600 соответствующих выходных файлов деталей с тем же именем и структурой в другом месте назначения. В настоящее время мы используем HiveInputFormat, который производит 600 картографов, 1 картограф на файл детали и производит 600 соответствующих выходных файлов детали, что удовлетворяет нашим требованиям.
- Поскольку эти файлы относительно меньше по размеру, возможно ли использовать CombineHiveInputFormat для моего требования и создать 600 выходных файлов в той же структуре, что и входные файлы, используя меньшее число картографов?
- Будет ли функция getSplits () CombineHiveInputFormat разделить файл одной детали? т. е. один сплит состоит из блоков из двух файлов частей и нескольких блоков из файла третьей части? Если это так, можно ли этого избежать?
Я новичок в hadoop, и любая помощь очень ценится.