Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При создании сложных конвейеров с несколькими потоками данных логический поток может оказать большое влияние на время и затраты. В этом разделе рассматриваются последствия различных стратегий архитектуры.
Параллельное выполнение потоков данных
При параллельном выполнении нескольких потоков данных служба запускает отдельные кластеры Spark для каждого действия. Это позволяет изолировать каждое задание и выполняться параллельно, но приведет к одновременному выполнению нескольких кластеров.
Если потоки данных выполняются параллельно, рекомендуется не включать время Azure IR в свойство 'live', так как это приводит к нескольким неиспользуемым тёплым пуллам.
Подсказка
Вместо выполнения одного потока данных несколько раз в каждом действии необходимо выполнить этапы данных в озере данных и использовать пути подстановочных знаков для обработки данных в одном потоке данных.
Последовательное выполнение потоков данных
Если вы выполняете действия потока данных в последовательности, рекомендуется задать TTL в конфигурации Azure IR. Служба повторно использует вычислительные ресурсы, что приводит к более быстрому запуску кластера. Каждое действие по-прежнему изолировано и получает новый контекст Spark для каждого выполнения.
Перегрузка одного потока данных
Если вы помещаете всю логику в один поток данных, служба выполняет все задание на одном экземпляре Spark. Хотя это может показаться способом снижения затрат, он смешивает различные логические потоки и может быть трудно отслеживать и отлаживать. Если один компонент завершается ошибкой, все остальные части задания также завершаются ошибкой. Рекомендуется упорядочивать потоки данных по независимым потокам бизнес-логики. Если поток данных становится слишком большим, разделение его на отдельные компоненты упрощает мониторинг и отладку. Хотя количество преобразований в потоке данных не ограничено, слишком много делает задание сложным.
Параллельное выполнение обработчиков данных
Поведение приемников потока данных по умолчанию заключается в последовательном выполнении каждого приемника в последовательном режиме и сбое потока данных при обнаружении ошибки в приемнике. Кроме того, все приемники по умолчанию используются для одной группы, если вы не перейдете в свойства потока данных и не задаете разные приоритеты для приемников.
Потоки данных позволяют объединять приемники в группы из вкладки свойств потока данных в конструкторе пользовательского интерфейса. Вы можете задать порядок выполнения приемников и сгруппировать их, используя одинаковый номер группы. Чтобы помочь управлять группами, можно попросить службу запускать конвейеры в одной группе, чтобы работали параллельно.
В конвейере выполните действие потока данных в разделе "Свойства приемника" — это возможность включить параллельную загрузку приемника. При включении функции "параллельное выполнение" вы указываете потокам данных записывать информацию в подключенные приемники одновременно, а не поочередно. Чтобы использовать параллельный параметр, приёмники должны быть сгруппированы и подключены к одному потоку через новую ветвь или условное разделение.
Доступ к шаблонам базы данных Azure Synapse в конвейерах
Вы можете использовать шаблон базы данных Azure Synapse при создании конвейера. При создании нового потока данных в параметрах источника или приемника выберите "Рабочая база данных". В раскрывающемся списке базы данных перечислены базы данных, созданные с помощью шаблона базы данных. Опция базы данных рабочей области доступна только для новых потоков данных. Она недоступна при использовании существующего конвейера из коллекции студии Synapse.
Связанный контент
- Обзор производительности потока данных
- Оптимизация источников
- Оптимизация узлов
- Оптимизация преобразований
См. другие статьи потока данных, связанные с производительностью: