Дополнительные параметры конфигурации в Azure Synapse Link

Azure Synapse Link содержит несколько способов записи и чтения ваших данных для соответствия различным аналитическим сценариям.

Примечание

Azure Synapse Link for Dataverse ранее называлось "Экспорт в озеро данных". Служба была переименована в мае 2021 года и будет продолжать экспортировать данные в Azure Data Lake, а также в Azure Synapse Analytics.

В этой статье рассматриваются следующие вопросы:

  1. Обновления на месте в сравнении с записями "только добавление".
  2. Секционирование данных, заданных пользователем.

Обновления на месте в сравнении с записями "только добавление"

Во время записи данных таблицы Dataverse в Azure Data Lake на основе значения createdOn, которое является датой и временем создания записи, можно выбрать один из двух различных параметров. Это Обновление на месте и Только добавление.

Настройка по умолчанию (для таблиц, где значение createdOn доступно) заключается в обновлении на месте или операции upsert (обновлении или вставке) инкрементных данных в место назначения. Если изменение является новым и соответствующей строки в озере не существует, в случае создания целевые файлы сканируются, и изменения вставляются в соответствующий файловый раздел в озере. Если изменение является обновлением и в озере существует строка, соответствующий файл в озере обновляется, а не производится вставка, с инкрементными данными. Другими словами, настройка по умолчанию для всех изменений CUD (создание, обновление, удаление) в таблицах Dataverse, где доступно значение createdOn, состоит в том, чтобы выполнить обновление на месте в месте назначения в Azure Data Lake.

Вы можете переключить поведение по умолчанию для обновления на месте, используя необязательный параметр, называемый Только добавление. В отличие от режима Обновление на месте, в режиме Только добавление инкрементальные данные и таблицы Dataverse добавляются к соответствующему разделу файла в озере. Это настройка для каждой таблицы и доступна в виде флажка в разделе Дополнительно > Показать дополнительные параметры конфигурации. Для таблиц Dataverse с включенным параметром Только добавление все изменения CUD инкрементно добавляются к соответствующим файлам назначения в озере. При выборе этого параметра стратегия разделения на разделы по умолчанию будет Год, и когда данные записываются в озеро данных, они разбиваются по годам. Только добавление также является настройкой по умолчанию для таблиц Dataverse, в которых нет значения createdOn.

В таблице ниже описывается, как строки обрабатываются в озере относительно событий CUD для каждого из вариантов записи данных.

Мероприятие Обновление на месте Только добавление
Создание Строка вставляется в файл раздела и основана на значении createdOn в строке. Строка добавляется в конец файла раздела и основана на значении createdOn записи.
Обновить Если строка существует в файле раздела, она заменяется или обновляется обновленными данными. Если она не существует, она вставляется в файл. Строка вместе с обновленной версией добавляется в конец файла раздела.
DELETE Если строка существует в файле раздела, она удаляется из файла. Строка добавляется в конец файла раздела с IsDelete column = True.

Примечание

Для таблиц Dataverse, в которых включен режим Только добавление, удаление строки в источнике не приведет к удалению или устранению строки в озере. Вместо этого удаленная строка добавляется как новая строка в озере и в столбце isDeleted устанавливается значение True.

«Грязное» чтение (ALLOW_INCONSISTENT_READS) для бессерверных вычислений включено для режима «только добавление». ALLOW_INCONSISTENT_READSозначает, что пользователь может считывать файлы, которые могут постоянно изменяться во время выполнения запроса SELECT. Результаты будут согласованными и эквивалентными чтению моментального снимка файла. (Это не эквивалентно изоляции моментального снимка базы данных из-за другого времени создания моментального снимка.)

Не все изменения CUD будут фиксироваться в только добавление: Synapse Link обрабатывает изменения в данных в группах или «пакетах» перед их публикацией в озере данных. В результате, если пользователь вносит изменения в течение короткого промежутка времени, не все изменения CUD будут зафиксированы в озере данных.

Вот еще несколько подробностей о том, когда использовать каждый из вариантов.

  • Обновление на месте: этот параметр является настройкой по умолчанию и рекомендуется, только если вы хотите напрямую подключиться к данным в озере и вам нужно текущее состояние (а не история или добавочные изменения). Файл содержит полный набор данных и может быть использован через Power BI или путем копирования всего набора данных для конвейеров ETL (извлечение, передача, загрузка).
  • Только добавление: выберите этот параметр, если вы не подключаетесь напрямую к данным в озере и хотите инкрементно копировать данные в другое место назначения с помощью конвейеров ETL. Этот вариант предоставляет историю изменений для включения сценариев ИИ и машинного обучения.

Вы можете переключить параметр Показать дополнительные параметры конфигурации в разделе Дополнительно в Azure Synapse Link for Dataverse, чтобы настроить стратегию разделов данных и выбрать варианты для записи в Azure Data Lake.

Показать расширенную настройку.

Секционирование данных

Когда вы записываете данные таблицы Dataverse в Azure data lake storage с помощью Azure Synapse Link, таблицы секционируются (вместо одного файла) в озере на основе значения createdOn для каждой строки в источнике. Стратегия секционирования по умолчанию — по месяцам, данные в озере данных Azure секционируются ежемесячно.

На основе объема таблицы Dataverse и распределения данных вы можете разбить данные по годам. С помощью этого варианта, когда данные таблицы Dataverse записываются в озеро данных Azure, оно будет секционироваться ежегодно на основе значения createdOn в каждой строке в источнике. Для таблиц без столбца createdOn строки данных секционируются в новый файл каждые пять миллионов записей. Это настройка для каждой таблицы и доступна в виде флажка в разделе Дополнительно > Показать дополнительные параметры конфигурации.

Более подробная информация с примерами того, как данные обрабатываются в озере с ежегодной или ежемесячной стратегией разделения:

Стратегия разделения.

См. также

Azure Synapse Link for Dataverse

Примечание

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

Опрос займет около семи минут. Личные данные не собираются (заявление о конфиденциальности).