Скажем, я хочу прочитать данные из внешней базы данных HDFS, и у меня есть 3 рабочих в моем кластере (один может быть немного ближе к external_host
- но не на том же хосте).
sc.textFile("hdfs://external_host/file.txt")
Я понимаю, что Spark планирует задачи в зависимости от местоположения основного СДР.Но на какой рабочий (т. Е. Executor) запланировано .textFile(..)
(поскольку у нас нет исполнителя, работающего на external_host
)?
Я предполагаю, что он загружает блоки HDFS как разделы в рабочую память, но какSpark решает, какой из них лучший (я бы предположил, что он выбирает наиболее близкий по времени ожидания или как-то еще, это правильно?)