Я использую Spark, и мне интересно, как именно работают RDD. Я понимаю, что RDD - это указатель на данные. Если я пытаюсь создать RDD для файла HDFS, я понимаю, что RDD будет указателем на фактические данные в файле HDFS.
Чего я не понимаю, так это того, где данные хранятся в памяти. Когда задача отправляется на рабочий узел, сохраняются ли данные для определенного раздела в памяти на этом рабочем узле? Если да, то что происходит, когда раздел RDD хранится в памяти на рабочем узле 1, но рабочий узел 2 должен выполнить задачу для того же раздела RDD? Общается ли рабочий узел 2 с рабочим узлом 1, чтобы получить данные для раздела и сохранить их в своей памяти?