#java #apache-spark
#java #apache-spark
Вопрос:
Я пытаюсь объединить два файла по 10 ГБ каждый и использовать внутреннее соединение. В моем кластере есть 3 рабочих узла.
Вот моя конфигурация
Driver Memory: 5G
Executor Memory: 15 G
Cores/Executor: 1
spark.cores.max: 9
Оба файла объединяются на основе столбца ID. В каждом файле 10 миллионов записей.
Это занимает бесконечное время.
Может кто-нибудь, пожалуйста, предложить?
Ответ №1:
Вы можете попробовать следующие варианты:
-
Перераспределение данных
-
Исправлена проблема с искаженными данными, если она существует
-
установить
spark.sql.shuffle.partitions
(в противном случае по умолчанию будет создано 200 разделов) -
Обновите конфигурацию Spark (учитывая, что один узел имеет 15 ГБ оперативной памяти) и 9 ядер
Driver Memory: 2G
Executor Memory: 7G
cores: 4