Я пытаюсь оптимизировать одну программу с помощью Spark SQL, эта программа в основном представляет собой ОГРОМНЫЙ SQL-запрос (объединяет 10 таблиц со многими кейсами и т. Д.). Я больше привык к большему количеству программ, ориентированных на DF-API, и они действительно показывали различные этапы намного лучше.
Это довольно хорошо структурировано, и я понимаю это более или менее. Однако у меня есть проблема, я всегда использую SQL-представление Spark UI, чтобы получить подсказки о том, где сосредоточиться на оптимизации.
Однако в такого рода программах Spark UI SQL ничего не показывает, есть ли причина для этого? (или способ заставить его показать).
Я ожидаю увидеть каждое объединение / сканирование с количеством выходных строк после него и т. Д., Но я вижу только полный "WholeStageCodeGen" для "Разобранного логического плана", который похож на 800lines
Я не могу показать код, у него есть следующие "точки":
1- Action triggering it, its "show"(20)
3- Takes like 1 hour of execution (few executors yet)
2- has a persist before the show/action.
3- Uses Kudu, Hive and In-memory tables (registered before this query)
4- Has like 700 lines logical plan
Есть ли способ улучшить трассировку там? (возможно, отключение WholeStageCodegen ?, но это может снизить производительность ...)
Спасибо!