Как сказал @Andrea, это проблема с памятью.Прежде всего, я должен предупредить вас, что CSV - не лучший формат для записи «больших данных», я предлагаю вам попробовать другие, более оптимизированные для Spark, например Parquet.
Однако, если вы действительно хотите экспортироватьданные в файл CSV, то вы можете попробовать два разных подхода:
- Увеличение памяти исполнителя и исполнителя: вы можете изменить конфигурацию Spark по умолчанию в spark-defaults.conf файл:
spark.executor.memory: '2G'
spark.driver.memory: '4G'
Перед запуском задания Spark с отправкой вы можете передать аргументы, изменяющие предыдущие параметры
Документация Spark :
./bin/spark-submit --driver-memory 4g –num-executors 2 --executor-memory 2g --executor-cores 2
Другой подход заключается в разделениивыходной файл разбивается на несколько меньших выборочных подмножеств данных, а затем, если необходимо, объединяется локально.Я бы не стал этого делать, но вы можете попытаться исключить другие проблемы, кроме недостатка памяти.
РЕДАКТИРОВАТЬ: Добавление некоторых ссылок с некоторыми интересными опциями для настройки заданий Spark
Cloudera How-to Tune Spark jobs
Как мы оптимизируем Apache Spark Jobs