Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описано, как использовать инструменты HDInsight из Azure Toolkit for IntelliJ для запуска приложений отладки сбоев Spark.
Предварительные условия
Комплект разработчика Oracle Java. В этом руководстве используется Java версии 8.0.202.
IntelliJ IDEA. В этой статье используется среда IntelliJ IDEA Community 2019.1.3.
Azure Toolkit for IntelliJ. Дополнительные сведения см. в статье Установка набора средств Azure для IntelliJ.
Подключитесь к кластеру HDInsight. См. статью Подключение к кластеру HDInsight.
Обозреватель службы хранилища Microsoft Azure. См. статью Скачивание Обозревателя службы хранилища Microsoft Azure.
Создание проекта с шаблоном отладки
Создайте проект spark2.3.2, чтобы продолжить отладку неполадок. Воспользуйтесь образцом файла сбоев для отладки задачи в этом документе.
Откройте IntelliJ IDEA. Откройте окно Новый проект.
a. На левой панели щелкните Azure Spark/HDInsight.
b. В главном окне выберите Проект Spark с образцом отладки сбоев в задании (предварительная версия) (Scala).
c. Выберите Далее.
В окне New Project (Новый проект) выполните указанные ниже действия.
a. Введите имя и расположение проекта.
b. В раскрывающемся списке Проект SDK выберите Java 1.8 для кластера Spark 2.3.2.
c. В раскрывающемся списке Версия Spark выберите Spark 2.3.2 (Scala 2.11.8).
д. Выберите Готово.
Выберите src>main>scala, чтобы открыть код в проекте. В этом примере используется скрипт AgeMean_Div().
Запуск приложения Spark Scala / Java в кластере HDInsight Spark
Создайте приложение Spark Scala / Java, а затем запустите его в кластере Spark, выполнив следующие действия.
Щелкните Добавить конфигурацию, чтобы открыть окно Конфигурации запуска/отладки.
В диалоговом окне Run/Debug Configurations (Конфигурации выполнения и отладки) щелкните знак "плюс" (+). Затем выберите вариант Apache Spark on HDInsight (Apache Spark в HDInsight).
Перейдите на вкладку Удаленный запуск в кластере. Введите следующие данные: Имя, Кластер Sparkи Имя класса Main. Наши средства поддерживают отладку с исполнителями. Параметр numExecutors, значение по умолчанию равно 5, и лучше не задавать значение выше 3. Чтобы сократить время выполнения, можно добавить spark.yarn.maxAppAttempts в конфигурации задания и установить значение 1. Нажмите кнопку OK, чтобы сохранить конфигурацию.
Теперь конфигурация сохранена под именем, которое вы указали. Чтобы просмотреть сведения о конфигурации, выберите имя конфигурации. Чтобы внести изменения, выберите Edit Configurations (Изменить конфигурации).
Завершив настройку конфигурации, можно запустить проект на удаленном кластере.
Идентификатор приложения можно проверить в окне вывода.
Скачивание профиля задания, которое завершилось сбоем
Если отправка задания завершилась сбоем, можно скачать профиль задания, которое завершилось сбоем, на локальный компьютер для дальнейшей отладки.
Откройте Обозреватель службы хранилища Microsoft Azure, выберите учетную запись HDInsight кластера для задания, которое завершилось сбоем, скачайте ресурсы задания, которое завершилось сбоем, из соответствующего расположения: \hdp\spark2-events\.spark-failures\<application ID> в локальную папку. В окне Действия отобразится ход скачивания.
Настройка локальной среды отладки и отладка при сбое
Откройте исходный проект или создайте новый проект и свяжите его с первоначальным исходным кодом. В настоящее время отладка сбоев поддерживается только для версии spark2.3.2
В IntelliJ IDEA создайте файл конфигурации отладки сбоев Spark, выберите файл FTD из ранее скачанных ресурсов заданий, которые завершились сбоем, для поля Расположение контекста сбоя в задании Spark.
Нажмите кнопку локального запуска на панели инструментов. Ошибка отобразится в окне "Выполнение".
Задайте точку останова, как указано в журнале, затем нажмите кнопку локальной отладки, чтобы выполнить локальную отладку так же, как обычные проекты Scala/Java в IntelliJ.
После отладки, если проект успешно завершается, можно повторно отправить задание, которое завершилось сбоем, в Spark в кластере HDInsight.
Следующие шаги
Сценарии
- Использование Apache Spark с инструментами бизнес-аналитики: выполнение интерактивного анализа данных в HDInsight с помощью Spark и BI-инструментов
- Apache Spark и Машинное обучение: использование Spark в HDInsight для анализа температуры в здании на основе данных HVAC
- Apache Spark с Машинным Обучением: Использование Spark в HDInsight для прогнозирования результатов проверки пищевых продуктов
- Анализ журналов веб-сайтов с помощью Apache Spark в HDInsight
Создание и запуск приложений
- Создание автономного приложения с использованием Scala
- Удаленный запуск заданий с помощью Apache Livy в кластере Apache Spark
Инструменты и расширения
- Создание приложений Apache Spark для кластера HDInsight с помощью Azure Toolkit for IntelliJ
- Используйте Azure Toolkit for IntelliJ для удаленной отладки приложений Apache Spark через VPN
- Использование средств HDInsight в Azure Toolkit for Eclipse для создания приложений Apache Spark
- Использование блокнотов Zeppelin с кластером Apache Spark в Azure HDInsight
- Ядра, доступные для Jupyter Notebook в кластере Apache Spark в HDInsight
- Использование внешних пакетов с Jupyter Notebook
- Установите Jupyter на свой компьютер и подключитесь к кластеру HDInsight Spark