Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server 2019 (15.x)
Important
Кластеры больших данных Microsoft SQL Server 2019 прекращены. Поддержка кластеров больших данных SQL Server 2019 закончилась с 28 февраля 2025 г. Дополнительные сведения см. в записи блога объявлений и параметрах больших данных на платформе Microsoft SQL Server.
В этой статье описано, как использовать расширенный сервер журнала Spark для отладки и диагностики приложений Spark в кластере больших данных SQL Server. Эти возможности отладки и диагностики встроены в сервер журнала Spark и поддерживаются корпорацией Майкрософт. Расширение включает вкладку данных и вкладку графа и вкладку диагностики. На вкладке данных пользователи могут проверять входные и выходные данные задания Spark. На вкладке графа пользователи могут проверить поток данных и воспроизвести граф задания. На вкладке диагностики пользователь может ссылаться на отклонение данных, отклонение времени и анализ использования исполнителя.
Доступ к серверу истории Spark
Пользовательский интерфейс сервера истории Spark с открытым исходным кодом улучшен за счет информации, которая включает данные, относящиеся к заданию, и интерактивную визуализацию графа выполнения заданий и потоков данных для кластера больших данных.
Открытие веб-интерфейса сервера журнала Spark по URL-адресу
Откройте сервер истории Spark, перейдя по следующему URL-адресу, заменив <Ipaddress> и <Port> на конкретную информацию о кластере больших данных. В кластерах, развернутых до SQL Server 2019 CU 5, с настройкой кластера больших данных с базовой аутентификацией (имя пользователя/пароль), вы должны ввести пользователя root, когда появляется запрос на вход в конечные точки шлюза (Knox). См. раздел "Развертывание кластера больших данных SQL Server". Начиная с SQL Server 2019 (15.x) CU 5 при развертывании нового кластера с базовой проверкой подлинности всех конечных точек, включая использование AZDATA_USERNAME шлюза и AZDATA_PASSWORD. Конечные точки в кластерах, которые обновлены до накопительного пакета обновления 5, продолжают использовать root в качестве имени пользователя для подключения к конечной точке шлюза. Это изменение не применяется к развертываниям с помощью проверки подлинности Active Directory. См. учетные данные для доступа к службам через конечную точку шлюза в заметках о выпуске.
https://<Ipaddress>:<Port>/gateway/default/sparkhistory
Веб-интерфейс сервера журнала Spark выглядит следующим образом:
Вкладка "Данные" на сервере истории Spark
Выберите идентификатор задания, а затем щелкните "Данные " в меню инструментов, чтобы получить представление данных.
Проверьте входные данные, выходные данные и операции таблицы , выбрав вкладки отдельно.
Скопируйте все строки, нажав кнопку "Копировать".
Сохраните все данные в виде CSV-файла, нажав кнопку CSV.
Введите ключевые слова в поле Поиск, и результаты отображаются немедленно.
Щелкните заголовок столбца, чтобы сортировать таблицу, щелкните знак "плюс", чтобы развернуть строку, чтобы отобразить дополнительные сведения, или щелкните знак минуса, чтобы свернуть строку.
Скачайте один файл, нажав кнопку Частичное скачивание , расположенную справа, затем выбранный файл скачан в локальное место. Если файл больше не существует, откроется новая вкладка, чтобы отобразить сообщения об ошибках.
Скопируйте полный путь или относительный путь, выбрав полный путь копирования, скопируйте относительный путь , развернутый в меню загрузки. Для файлов хранилища Azure Data Lake Отрыть в Обозревателе хранилища Azure запустит Обозреватель хранилища Azure. Перейдите к точной папке при входе в систему.
Щелкните номер под таблицей, чтобы перейти на страницы, когда слишком много строк для отображения на одной странице.
Наведите указатель мыши на вопросительный знак рядом с данными, чтобы отобразить подсказку, или щелкните вопросительный знак, чтобы получить дополнительные сведения.
Отправьте отзыв с проблемами, нажав кнопку "Предоставить нам отзыв".
Вкладка "Графики" на сервере истории Spark
Выберите идентификатор задания, а затем щелкните Graph в меню инструментов, чтобы получить представление графа задания.
Ознакомьтесь с общими сведениями о задании с помощью созданного графа заданий.
По умолчанию будут отображаться все задания, и их можно будет отфильтровать по идентификатору задания.
Мы оставим "Ход выполнения " в качестве значения по умолчанию. Пользователь может проверить поток данных, выбрав "Чтение " или " Запись " в раскрывающемся списке отображения.
Узел графа отображается в цвете, представляющем тепловую карту.
Запустите задание, нажав кнопку воспроизведения и остановив его в любое время, нажав кнопку остановки. Цветное отображение задачи для индикации разного состояния при воспроизведении:
- Зеленый означает, что задание выполнено успешно: задание успешно завершено.
- Оранжевый для отметки "ошибка": задачи, завершившиеся ошибкой, но не влияющие на конечный результат работы. Эти задачи имели повторяющиеся или повторные экземпляры, которые могут завершиться успешно.
- Синий цвет указывает на выполнение: задача выполняется.
- Белый цвет для ожидания или пропуска: задача ожидает выполнения, или этап пропущен.
- Красный для сбоя: задача завершилась ошибкой.
Пропущенный этап отображается в белом цвете.
Note
Допускается воспроизведение каждого задания. Для незавершённой работы воспроизведение не поддерживается.
Мышь прокручивается, чтобы увеличить или уменьшить график задания, или нажмите кнопку "Масштаб", чтобы оно соответствовало экрану.
Наведите указатель мыши на узел графа, чтобы увидеть подсказку, когда есть сбои в задачах, и щелкните по этапу, чтобы открыть страницу этапа.
На вкладке графа заданий этапы будут отображать подсказку и маленький значок, если задачи соответствуют приведенным ниже условиям.
- Перекос данных: размер чтения данных > меньше, чем средний размер чтения данных каждой задачи на этом этапе, умноженный на 2, и размер чтения данных > меньше 10 МБ.
- Отклонение времени выполнения: > среднее время выполнения всех задач на этом этапе * 2 и время > выполнения 2 мин
Узел графа задания будет отображать следующие сведения каждого этапа:
- ID.
- имя или описание;
- общее количество задач;
- Данные считываются: суммы входных данных и размер считывания.
- Запись данных: сумма объёма выхода и размера записи при перемешивании.
- время выполнения: время от начала первой попытки до завершения последней попытки;
- число строк: сумма входных записей, выходных записей, записей смешанного чтения и записей смешанной записи;
- Progress.
Note
По умолчанию узел графа задачи отображает информацию из последней попытки каждого этапа (за исключением времени выполнения этапа), но во время воспроизведения он покажет информацию о каждой попытке.
Note
Для размера данных чтения и записи мы используем 1 МБ = 1000 КБ = 1000 * 1000 Байт.
Отправьте отзыв с проблемами, нажав кнопку "Предоставить нам отзыв".
Вкладка "Диагностика" в журнале истории Spark
Выберите идентификатор задания, а затем щелкните "Диагностика " в меню инструментов, чтобы получить представление диагностики задания. На вкладке диагностики включены анализ использования данных, отклонениевремени и анализ использования исполнителя.
Проверьте перекос данных, отклонение времени и анализ использования процессора, выбрав вкладки соответственно.
Data Skew
Щелкните на вкладку "Скос данных", соответствующие задания с отклонением отображаются на основе указанных параметров.
Укажите параметры . В первом разделе отображаются параметры, которые используются для обнаружения отклонений данных. Встроенное правило заключается в том, что чтение данных задачи превышает среднее значение чтения данных задачи в три раза и составляет более 10 МБ. Если вы хотите определить собственное правило для отклоненных задач, вы можете выбрать свои параметры — этап отклонения и символ отклонения будут обновлены соответствующим образом.
Этап с неравномерным распределением — во втором разделе отображаются этапы, имеющие задачи с неравномерным распределением, которые отвечают указанным выше условиям. Если на этапе более одной задачи с неравномерным распределением, в таблице этапа с неравномерным распределением отображается только одна задача с наибольшим неравномерным распределением (например, наибольшим размером неравномерно распределенных данных).
Диаграмма отклонений - Когда выбрана строка в таблице этапов смещения, диаграмма отклонений отображает дополнительные сведения о распределении задач на основе времени чтения и выполнения. Задачи с отклонением отмечаются красным цветом, а обычные задачи отмечены синим цветом. Для повышения производительности диаграмма отображает только до 100 примеров задач. Сведения о задаче отображаются на правой нижней панели.
Time Skew
На вкладке "Отклонение времени " отображаются сложенные задачи на основе времени выполнения задачи.
Укажите параметры — в первом разделе отображаются параметры, которые служат для обнаружения неравномерного распределения времени. Критерии по умолчанию для обнаружения отклонений времени: время выполнения задачи превышает три раза среднего времени выполнения, а время выполнения задачи превышает 30 секунд. Параметры можно изменить в зависимости от ваших потребностей. В разделах Этап с неравномерным распределением и Диаграмма неравномерного распределения отображаются соответствующие сведения об этапах и задачах, так же как на вкладке Неравномерное распределение данных, описанной выше.
Щелкните "Временное отклонение", затем отфильтрованный результат отображается в разделе "Этап Временного Отклонения" в соответствии с параметрами, указанными в разделе "Указание параметров". Щелкните один элемент в разделе Skewed Stage, затем соответствующая диаграмма создается в section3, а сведения о задаче отображаются в правой нижней панели.
Анализ использования выполнителя
График использования исполнителей отображает фактическое выделение и текущий статус выполнения исполнителей задания Spark.
Щелкните Анализ использования исполнителя, а затем создаём четыре типа кривых использования исполнителя. Они включают выделенных исполнителей, активных исполнителей, бездействующих исполнителей и максимальное количество экземпляров исполнителя. В отношении выделенных исполнителей каждое событие "Исполнитель добавлен" или "Исполнитель удален" будет увеличивать или уменьшать количество выделенных исполнителей. Дополнительные возможности сравнения доступны на временной шкале событий на вкладке "Задания".
Щелкните значок цвета, чтобы выбрать или отменить выбор соответствующего содержимого во всех черновиках.
Логи Spark и Yarn
Помимо сервера истории Spark вы можете найти журналы для Spark и Yarn здесь, соответственно:
- Журналы событий Spark: hdfs:///system/spark-events
- Журналы Yarn: hdfs:///tmp/logs/root/logs-tfile
Примечание. Оба этих журнала имеют срок хранения по умолчанию 7 дней. Если вы хотите изменить срок хранения, см. страницу "Настройка Apache Spark и Apache Hadoop ". Невозможно изменить расположение.
Known issues
Сервер истории Spark имеет следующие известные проблемы:
В настоящее время он работает только для кластера Spark 3.1 (CU13+) и Spark 2.4 (CU12-).
Входные и выходные данные с помощью RDD не отображаются на вкладке "Данные".
Next steps
- Начало работы с кластерами больших данных SQL Server
- Настройка параметров Spark
- Настройка параметров Spark