Получите ЦП и Использование памяти динамично

Ваш запрос носит слишком общий характер. Однако я постараюсь связать это с одним из инцидентов, которые у меня были. Был похожий инцидент, который произошел со мной. Я могу поделиться подробностями своего исполнения, если это поможет.

Я запустил серию SQL-операторов Spark (с объединениями и фильтрами), и работа вообще не выполнялась. После тщательного анализа в веб-интерфейсе Spark я понял, что входные данные на одном из этапов работали в ГБ, где мои данные были слишком малы (менее 100 МБ).

Я проверил SQL-запросы и отладил их на уровне данных только для того, чтобы понять, что одна из JOINS вызывала проблему. Был картезианский союз, который формировался, из-за чего количество записей достигло миллионов. Это приводит к созданию данных во время выполнения из-за ошибочного условия соединения. Как только соединение было исправлено, проблема была решена.

Пожалуйста, проверьте ваш код. Вы можете получить больше идей. Spark сама по себе не будет создавать данные.

6
задан gagneet 30 April 2009 в 13:13
поделиться

1 ответ

Я бы предложил использовать команду time , а также команду vmstat . Первый даст использование ЦП для выполнения исполняемого файла, а второй - периодический (т.е. раз в секунду) дамп ЦП / памяти / ввода-вывода системы.

Пример:

time dd if=/dev/zero bs=1K of=/dev/null count=1024000
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 0.738194 seconds, 1.4 GB/s
0.218u 0.519s 0:00.73 98.6%     0+0k 0+0io 0pf+0w <== that's time result
1
ответ дан 17 December 2019 в 18:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: