Хотелось бы просто подтвердить следующее. Проверьте, правильно ли это: 1. Как я понимаю, когда мы копируем файл в HDFS, это тот момент, когда файл (при условии, что размер его размером> 64 МБ = размер блока HDFS) разделяется на несколько фрагментов, и каждый фрагмент хранится на разные узлы данных.О разделении файлов Hadoop/HDFS
содержимое файла уже разбит на куски, когда файл копируется в HDFS, и этот файл сплит не происходит в момент запуска карты задания. Задачи карты назначаются только таким образом, чтобы они работали на каждом куске макс. размер 64 МБ с локальностью данных (например, задача карты выполняется на том узле, который содержит данные/кусок)
Разделение файлов также происходит, если файл сжат (gzipped), но MR гарантирует, что каждый файл обрабатывается только одним устройством отображения , т. е. MR будет собирать все куски gzip-файла, лежащие на других узлах данных, и давать их всем одному картографу.
То же, что и выше, произойдет, если мы определим isSplitable(), чтобы вернуть false, то есть все куски файла будут обработаны одним устройством отображения, работающим на одной машине. MR прочитает все куски файла из разных узлов данных и сделает их доступными для одного картографа.
Более наглядное название было бы приятным дополнением к вашему вопросу. –