данные spark sql больше, чем память узла при объединении (1)

#apache-spark #apache-spark-sql #coalesce

#apache-spark #apache-spark-sql #объединяются

Вопрос:

Я работаю над spark 1.6.1

У меня есть распределенный фрейм данных, который наверняка больше, чем любые узлы, которые у меня есть в моем кластере.

Что произойдет, если я перенесу все в узел?

 df.coalesce(1)
  

Завершится ли задание ошибкой?

Спасибо

Комментарии:

1. Короткий ответ: Да.

2. Чтобы добавить к ответу элиасы, он завершится неудачей с OutOfMemory исключением. Существует много способов обойти необходимость coalesce . Чего вы пытаетесь достичь, перенося все данные в драйвер?

Ответ №1:

Это наверняка завершится неудачей, поскольку данные не поместятся в память. Если вы хотите вернуть один файл в качестве выходных данных, вы можете объединить файлы HDFS позже с помощью HDFS getMerge.

Вы можете использовать утилиту для объединения нескольких файлов в один файл из указанного ниже проекта git https://github.com/gopal-tiwari/hdfs-file-merge