2017-01-06 4 views
1

Я новичок в программировании Scala и большого набора данных. Мне нужно использовать профилировщик в локальной среде, чтобы проверить, какая операция/функция слишком медленная в моем коде Scala, я попробовал интерфейс Spark как в локальном узле, так и в кластерной среде, но этого недостаточно. Проблема в том, что мой код - это скрипт Scala, или лучше всего это только последовательность строк кода, выполняемых непосредственно в искровой оболочке.Профилирование кода Scala для Spark

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

ответ

2

Вы можете подключить профилировщики Java (например, бесплатный jvisualvm, который поставляется вместе с JDK) для любой запущенной JVM. Я не пробовал, но считаю, что вы должны иметь возможность профилировать код, который запускается Spark.

Конечно, вам нужно подключиться к правой JVM, где выполняется код. Если он выполнен удаленно, это не поможет подключиться к локальной JVM, запускающей вашу оболочку Spark.

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

+0

Спасибо, я использовал YourKit в режиме «attach». Простой интерфейс и быстрый. – user7331766

+0

@ user7331766 Если я ответил на ваш вопрос, вы можете пометить мой ответ как принятый, нажав на галочку. – ziggystar

+0

@ user7331766 Я связал, чтобы отметить ваш вопрос, но я получил сообщение, в котором записана ваша обратная связь. – user7331766

Смежные вопросы