Логика расщепления HDFS?
Какое значение имеет метод isSplittable() класса FileInputFormat? http://hadoop.apache.org/docs/r2.2.0/api/index.html
2 ответа
Когда isSplitable возвращает false, только один преобразователь обрабатывает весь файл.
Вы можете предоставить свою собственную реализацию FileInputFormat и вернуть true/false для isSplitable в зависимости от ваших потребностей.
Если файлы сжимаются потоком, как tar.gz или zip файлы, и когда ваши записи имеют переменное количество строк; может существовать вероятность того, что часть одной записи может оказаться в одном блоке, а остальная часть записи - в другом блоке. И, таким образом, программа, написанная для чтения записей, может аварийно завершить работу.
Таким образом, в подобных сценариях можно было бы установить isSplittable() как false.