Мониторинг потоков данных

ПРИМЕНИМО К: Фабрика данных Azure Azure Synapse Analytics

Совет

Data Factory в Microsoft Fabric — это следующее поколение Фабрика данных Azure с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

После создания и отладки потока данных вы, возможно, захотите настроить его выполнение по расписанию в контексте конвейера. Вы можете запланировать конвейер с помощью триггеров. Для тестирования и отладки потока данных из конвейера можно использовать кнопку отладки на ленте панели инструментов или параметр "Активировать сейчас" из строителя конвейера, чтобы выполнить одиночный запуск для тестирования потока данных в контексте конвейера.

При выполнении конвейера можно отслеживать конвейер и все действия, содержащиеся в конвейере, включая действие Поток данных. Щелкните значок монитора на панели пользовательского интерфейса слева. Вы можете увидеть экран, аналогичный следующему. Выделенные значки позволяют детализировать действия в конвейере, включая действие Поток данных.

На снимке экрана показаны значки выбора конвейеров для получения дополнительных сведений.

На этом уровне вы увидите статистику, включая время выполнения и состояние. Идентификатор выполнения на уровне активности отличается от идентификатора выполнения на уровне конвейерного процесса. Идентификатор запуска на предыдущем уровне относится к конвейеру. Если выбрать значок очков, появятся подробные сведения о выполнении потока данных.

На снимке экрана показан значок

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

На снимке экрана показана версия графа, доступная только для просмотра.

Просмотр планов выполнения Поток данных

При выполнении потока данных в Spark служба определяет оптимальные пути кода на основе всего потока данных. Кроме того, пути выполнения могут возникать на разных узлах горизонтального масштабирования и секциях данных. Таким образом, граф мониторинга представляет структуру потока, принимая во внимание путь выполнения преобразований. При выборе отдельных узлов вы увидите "этапы", представляющие код, который выполнялся вместе в кластере. Время и числа, которые вы видите, относятся к этим группам или этапам, а не отдельным этапам в структуре.

На снимке экрана показана страница потока данных.

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

  • При выборе отдельных преобразований вы получите дополнительную информацию на правой панели, где отображаются статистика партиций, счетчики столбцов, скошенность (насколько равномерно распределены данные между партициями) и эксцесс (насколько выражены пики в данных).

  • Сортировка по времени обработки помогает определить, какие этапы потока данных заняли больше всего времени.

  • Чтобы определить, какие преобразования в каждом этапе заняли наибольшее время, отсортируйте их по возрастанию времени обработки.

  • Записанные строки *также можно сортировать как способ определить, какие потоки внутри потока данных записывают большинство данных.

  • Когда вы выбираете Sink в представлении узла, вы можете увидеть происхождение столбцов. Существуют три различных метода накопления столбцов в потоке данных перед попаданием в приемник. В их число входят:

    • Вычислено: столбец используется для условной обработки или выражения в потоке данных, но не помещайте его в приемник.
    • Производный: столбец — это новый столбец, созданный в процессе, то есть его не было в исходных данных.
    • Сопоставлено: столбец, полученный из источника, и вы сопоставляете его с полем приемника.
    • Состояние потока данных: текущее состояние выполнения
    • Время запуска кластера: время получения вычислительной среды JIT Spark для выполнения потока данных
    • Количество преобразований: сколько шагов преобразования выполняется в потоке

На снимке экрана показана команда

Общее время обработки приемника и время обработки преобразования

Каждый этап преобразования включает общее время выполнения самого этапа с указанием суммарного времени выполнения каждого раздела. При выборе приемника отображается значение "Время обработки приемника". В время входит общее время преобразования и время ввода-вывода, затраченное на запись данных в конечное хранилище. Разница между временем обработки приемника и общим временем преобразования — это время на ввод-вывод для записи данных.

Вы также можете увидеть подробное время для каждого этапа преобразования разделов, открыв JSON-вывод вашей задачи потока данных в режиме мониторинга конвейера. В файле JSON содержится время в миллисекундах для каждой части, в то время как представление мониторинга UX представляет собой совокупное сложенное время этих частей.

 {
     "stage": 4,
     "partitionTimes": [
          14353,
          14914,
          14246,
          14912,
          ...
         ]
}

Время обработки синка

При выборе значка преобразования приемника на карте на панели слайда справа отображается дополнительная точка данных с именем "время последующей обработки" внизу. Это количество времени, затраченного на выполнение задания в кластере Spark после загрузки, преобразования и записи данных. В это время могут быть включены закрытие пулов подключений, завершение работы драйвера, удаление файлов, объединение файлов и другие подобные процессы. Когда вы выполняете действия в потоке, такие как "переместить файлы" и "вывод в один файл", вероятно, вы заметите увеличение времени обработки после выполнения.

  • Длительность фазы записи: время записи данных в промежуточную область для Synapse SQL
  • Длительность операции SQL с таблицей: время, затраченное на перемещение данных из временных таблиц в целевую таблицу
  • Длительность выполнения предварительных и последующих SQL: время, затраченное на выполнение предварительных и последующих SQL-команд.
  • Длительность выполнения команд до и после операций: время, затраченное на выполнение операций, предшествующих и следующих за основными процессами для источников и приемников, работающих на базе файлов. Например, перемещение или удаление файлов после обработки.
  • Длительность слияния: время, затраченное на слияние файла; файлы для слияния используются для приемников данных на основе файлов при записи в один файл или при использовании 'Имени файла в качестве данных столбца'. Если вы тратите значительное время на эту метрику, следует избегать использования этих опций.
  • Время этапа: общее время, затраченное внутри Spark для завершения операции в качестве этапа
  • Временная стейджинговая таблица: имя временной таблицы, используемой потоками данных для временного размещения данных в базе данных.

Ошибочные строки

Включение обработки строк ошибок в приемнике потока данных влияет на выходные данные мониторинга. Если присвоить приемнику значение "Сообщить об успешном выполнении ошибки", выходные данные мониторинга показывают количество успешных и неудачных строк при выборе узла мониторинга приемника.

На снимке экрана показаны строки ошибок.

При выборе параметра "сообщить об ошибке при сбое" тот же выходной результат отображается исключительно в тексте мониторинга активности. Это связано с тем, что действие потока данных завершается сбоем при выполнении, а подробная панель мониторинга недоступна.

На снимке экрана показаны строки ошибок в активности.

Значки мониторинга

Этот значок означает, что данные преобразования уже были кэшированы в кластере, поэтому это учитывается при расчете времени и определении пути выполнения.

На снимке экрана показан значок диска.

Кроме того, вы увидите зеленые круглые значки в преобразовании. Это количество приемников, в которые передаются данные.