Поделиться через


Отслеживание изменений данных в Azure Data Factory и Azure Synapse Analytics

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

В этой статье описывается отслеживание изменений данных (CDC) в Фабрике данных Azure.

Чтобы узнать больше, смотрите обзор Фабрики данных Azure или обзор Azure Synapse.

Обзор

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

Использование Change Data Capture для ресурса фабрики

Самый простой и быстрый способ начать работу в Data Factory с CDC — это ресурс Change Data Capture на уровне фабрики. В главном конструкторе конвейеров выберите "Создать" в разделе "Ресурсы фабрики", чтобы создать новую запись измененных данных. Ресурс фабрики CDC предоставляет пошаговое руководство по настройке, в котором можно выбрать источники и назначения, применить необязательные преобразования, а затем начать запись данных. С помощью ресурса CDC вам не нужно разрабатывать каналы или процессы обработки данных. Вы также оплачиваете только за использование четырёх ядер потоков данных общего назначения во время их обработки. Вы можете задать предпочтительную задержку, которую ADF использует для пробуждения и поиска измененных данных. Эта начальная проверка — единственный случай выставления счета. Ресурс верхнего уровня CDC является также методом ADF для постоянного выполнения ваших процессов. Конвейерные линии в ADF поддерживают только пакетный режим, но ресурс CDC может выполняться непрерывно.

Встроенный захват данных об изменениях в потоке данных сопоставления

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

Поддерживаемые соединители

Автоматическое инкрементное извлечение в сопоставительном потоке данных

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

Поддерживаемые соединители

Управляемое клиентом извлечение дельта-данных в процессе

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

Лучшие практики

Отслеживание изменений данных из баз данных

  • Низкоуровневый сбор данных об изменениях всегда рекомендуется как самый простой способ получения данных об изменениях. Это также значительно меньше нагрузки на исходную базу данных, когда ADF извлекает измененные данные для дальнейшей обработки.
  • Если хранилища базы данных не входят в список соединителей ADF с поддержкой отслеживания изменений данных, рекомендуется проверить опцию автоматического инкрементального извлечения, где необходимо указать только инкрементальную колонку для фиксации изменений. ADF будет заботиться об остальном, включая создание динамического запроса для дельта-загрузки и управления контрольной точкой для каждого выполнения действия.
  • Управляемое пользователем извлечение дельта-данных в конвейере охватывает все поддерживаемые базы данных ADF и предоставляет вам гибкость для самостоятельного управления всеми процессами.

Изменение захвата файлов в файловых хранилищах

  • Если вы хотите загрузить данные из Хранилище блобов Azure, Хранилище Azure Data Lake 2-го поколения или Хранилище Azure Data Lake 1-го поколения, сопоставляющий поток данных предоставляет возможность получать новые или обновленные файлы путем простого выбора. Это самый простой и рекомендуемый способ выполнить дельта-загрузку из этих файловых хранилищ в потоке данных сопоставления.
  • Вы можете получить дополнительные рекомендации.

Контрольная точка

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

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

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

Учебники

Ниже приведены руководства по началу записи измененных данных в Фабрика данных Azure и Azure Synapse Analytics.

Шаблоны

Ниже приведены шаблоны для реализации механизма захвата измененных данных в Azure Data Factory и Azure Synapse Analytics.