Позвольте пояснить около shuffle in depth и как Spark использует shuffle руководителей. Сообщить некоторые очень полезные ресурсы:Понимание менеджеров в случайном порядке в Spark
https://trongkhoanguyenblog.wordpress.com/
https://0x0fff.com/spark-architecture-shuffle/
https://github.com/JerryLead/SparkInternals/blob/master/markdown/english/4-shuffleDetails.md
Читая их, я понял, есть разные менеджеры перетасовать. Я хочу сосредоточиться на двух из них: hash manager
и sort manager
(который является менеджером по умолчанию).
Для разоблачить мой вопрос, я хочу начать с самим общим преобразования:
val rdd = reduceByKey(_ + _)
Это преобразование вызывает агрегацию карты стороны, а затем перетасовать для чего всех одинаковых ключей в том же раздел ,
Мои вопросы:
ли агрегация Map-Side реализуется с помощью внутренней трансформации mapPartition и, таким образом, агрегацию все те же клавиши, используя функцию объединителя или он реализуется с помощью
AppendOnlyMap
илиExternalAppendOnlyMap
?Если
AppendOnlyMap
илиExternalAppendOnlyMap
карты используются для объединения, они используются также для уменьшения боковой агрегации, что происходит вResultTask
?Какова цель этих двух видов карт (
AppendOnlyMap
илиExternalAppendOnlyMap
)?Есть
AppendOnlyMap
илиExternalAppendOnlyMap
используется от всех менеджеров shuffle или только от sortManager?Я прочитал, что после
AppendOnlyMap
илиExternalAppendOnlyMap
сыты, которые пролитой в файл, как именно это произойдет шаги?Используя диспетчер сортировки Shuffle, мы используем appendOnlyMap для агрегирования и объединения записей разделов, правильно? Затем, когда исполняемая память заполняется, мы начинаем сортировку карты, проливая ее на диск, а затем очищаем карту, мой вопрос: в чем разница между разливом на диск и перетасовкой? Они состоят в основном в создании файла в локальной файловой системе, но они обрабатываются по-разному, Shuffle записывают записи, не помещаются в appendOnlyMap.
Можете ли вы объяснить в глубину Что происходит при выполнении reduceByKey, объясняя мне все шаги, связанные с этим? Например, все шаги для агрегации карты, перетасовки и т. Д.
@JacekLaskowski Вы являетесь экспертом в Спарк перетасовки;) –
Также @ 0x0FFF является экспертом в Спарк перетасовки – Giorgio