#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