Оказывается, копирование большого файла (~ 6 ГБ) с S3 на каждый узел в кластере Elastic MapReduce в действии начальной загрузки плохо масштабируется; размер канала невелик, и загрузка на узлы ограничивается по мере увеличения количества # узлов.
Я запускаю поток заданий с 22 шагами, и этот файл нужен, может быть, для 8 из них. Конечно, я могу копировать из S3 в HDFS и кэшировать файл перед каждым шагом, но это серьезно снижает скорость (и может повлиять на масштабируемость). В идеале поток заданий должен начинаться с файла на каждом узле.
Есть вопросы StackOverflow, по крайней мере косвенно касающиеся сохранения кэшированного файла в потоке заданий: -использовать файлы в распределенном кеше Hadoop, жизнь распределенного кеша в Hadoop а> .
Не думаю, что они мне помогают. Есть у кого свежие идеи?