[New to Spark] Язык - Scala
В соответствии с документами RangePartitioner сортирует и разделяет элементы на порции и распределяет порции на разные машины.Как это будет работать для приведенного ниже примера.
Допустим, у нас есть кадр данных с 2 столбцами, а один столбец (скажем, 'A') имеет непрерывные значения от 1 до 1000. Есть другой кадр данных с той же схемой, но соответствующейв столбце есть только 4 значения 30, 250, 500, 900. (Это могут быть любые значения, произвольно выбранные от 1 до 1000)
Если я разделю оба с помощью RangePartitioner,
df_a.partitionByRange($"A")
df_b.partitionByRange($"A")
какБудут ли данные из обоих фреймов данных распределены по узлам?
Предполагая, что количество разделов равно 5.
Кроме того, если я знаю, что второй DataFrame имеет меньшее количество значений, то будет уменьшаться числоразделов для этого имеет какое-либо значение?
Что я пытаюсь понять, так это то, как Spark отображает один раздел df_a на раздел df_b и как он отправляет(если это так) оба этих раздела на одном компьютере для обработки.