Спарк: большая задержка между заданиями, почему спарк спасает таблицы на драйвере? - PullRequest
0 голосов
/ 31 октября 2019

Я запускал spark sql на Yarn, и я столкнулся с той же проблемой, как показано ниже: Spark: большая задержка между заданиями

После действия, которое сохраняло таблицу, произошла большая задержка. В интерфейсе Spark я мог видеть, что конкретное задание saveAsTable () завершено, но новых заданий не было отправлено. spark ui screenshot

В первой ссылке в ответе говорится, что операции ввода-вывода будут выполняться на главном узле, но я сомневаюсь в этом.

В промежуток времени я проверялhdfs, где я сохранил таблицы, тогда я мог видеть _teve файл, а не _success файл. похоже, ответ - правда, и искра спасла таблицу на стороне водителя. Почему? !!

Я использую приведенный ниже код для сохранения таблицы:

dataframe.write.partitionBy(partitionColumn)).format(format)
.mode(SaveMode.Overwrite)
.saveAsTable(s"$tableName")

Кстати, формат файла orc. Кто-нибудь может дать мне несколько советов? :) Заранее спасибо.

1 Ответ

0 голосов
/ 06 ноября 2019

Spark SQL - Разница между df.repartition и DataFrameWriter partitionBy? Согласно приведенной выше ссылке, partitionBy используется для разделения данных на диске. , поэтому этот процесс нельзя отслеживать в Spark UI,Я увеличил номера разделов перед вызовом partitionBy (), тогда генерировалось слишком много файлов, что вызывало задержку. Я думаю, что это правда.

...