Ну, во всех сценариях ios, вы получите тонны данных. Будьте осторожны, старайтесь по возможности избегать декартовых объединений больших наборов данных, поскольку они обычно заканчиваются исключениями OOM.
Да, разбиение может быть способом, который вам поможет, потому что вам нужно распределять свою рабочую нагрузку от одного узел на большее количество узлов или даже на весь кластер. Механизм разделения по умолчанию - это га sh ключа или исходного ключа разделения из источника (Spark берет его из источника напрямую). Вы должны сначала оценить, какой у вас ключ разделения, а затем вы можете найти, возможно, лучший разделительный ключ / механизм и данные перераспределения, поэтому распределите нагрузку. Но, в любом случае, соединение должно быть сделано, но это будет сделано с более параллельными источниками.