Настройка хранилища данных в действии копирования
В этой статье описывается, как использовать действие копирования в конвейере данных для копирования данных из хранилища данных и в него.
Поддерживаемая конфигурация
Для настройки каждой вкладки в действии копирования перейдите к следующим разделам соответственно.
Общие
Для конфигурации вкладки "Общие" перейдите к разделу "Общие".
Исходный код
Следующие свойства поддерживаются для хранилища данных в качестве источника в действии копирования.
Требуются следующие свойства:
Тип хранилища данных: выбор рабочей области.
Тип хранилища данных рабочей области: выберите хранилище данных из списка типов хранилища данных.
Хранилище данных. Выберите существующее хранилище данных из рабочей области.
Используйте запрос: выбор таблицы, запроса или хранимой процедуры.
Если выбрать таблицу, выберите существующую таблицу из списка таблиц или укажите имя таблицы вручную, выбрав поле "Изменить".
При выборе запроса используйте пользовательский редактор SQL-запросов для записи SQL-запроса, который извлекает исходные данные.
Если выбрать хранимую процедуру, выберите существующую хранимую процедуру из раскрывающегося списка или укажите имя хранимой процедуры в качестве источника, выбрав поле "Изменить ".
В разделе "Дополнительно" можно указать следующие поля:
Время ожидания запроса (минуты): время ожидания выполнения команды запроса с значением по умолчанию 120 минут. Если это свойство задано, допустимые значения находятся в формате интервала времени, например "02:00:00" (120 минут).
Уровень изоляции. Укажите поведение блокировки транзакций для источника SQL.
Параметр секционирования: укажите параметры секционирования данных, используемые для загрузки данных из хранилища данных. Вы можете выбрать "Нет " или "Динамический диапазон".
Если выбрать динамический диапазон, параметр секции
?AdfDynamicRangePartitionCondition
диапазона требуется при использовании запроса с параллельным включенным. Пример запроса:SELECT * FROM <TableName> WHERE ?AdfDynamicRangePartitionCondition
.- Имя столбца секционирования: укажите имя исходного столбца в целочисленном или типе даты и даты и времени (
int
, ,smalldatetime
smallint
date
datetime
bigint
datetime2
илиdatetimeoffset
), используемом секционированием диапазона для параллельной копии. Если значение не указано, то индекс или первичный ключ таблицы определяется автоматически и используется в качестве столбца секционирования. - Верхняя граница секции: максимальное значение столбца секционирования для разделения диапазона секций. Это значение используется для выбора шага секционирования, а не для фильтрации строк в таблице. Все строки в таблице или результатах запроса секционируются и копируются.
- Нижняя граница секции: минимальное значение столбца секционирования для разделения диапазона секций. Это значение используется для выбора шага секционирования, а не для фильтрации строк в таблице. Все строки в таблице или результатах запроса секционируются и копируются.
- Имя столбца секционирования: укажите имя исходного столбца в целочисленном или типе даты и даты и времени (
Дополнительные столбцы: добавление дополнительных столбцов данных для хранения относительного пути или статического значения исходных файлов. Выражение поддерживается для последнего.
Назначение
Следующие свойства поддерживаются для хранилища данных в качестве назначения в действии копирования.
Требуются следующие свойства:
- Тип хранилища данных: выбор рабочей области.
- Тип хранилища данных рабочей области: выберите хранилище данных из списка типов хранилища данных.
- Хранилище данных. Выберите существующее хранилище данных из рабочей области.
- Таблица: выберите существующую таблицу из списка таблиц или укажите имя таблицы в качестве назначения.
В разделе "Дополнительно" можно указать следующие поля:
Копирование параметров команд. Укажите свойства команды копирования.
Параметры таблицы: укажите, следует ли автоматически создавать целевую таблицу, если она отсутствует на основе исходной схемы. Вы можете выбрать "Нет " или "Автоматически создать таблицу".
Скрипт предварительного копирования: укажите SQL-запрос для выполнения перед записью данных в хранилище данных в каждом запуске. Это свойство используется для очистки предварительно загруженных данных.
Время ожидания пакетной вставки: время ожидания операции вставки пакетной службы до истечения времени ожидания. Допустимые значения находятся в формате интервала времени. Значение по умолчанию — "00:30:00" (30 минут).
Отключить аналитику метрик производительности: служба собирает метрики для оптимизации производительности копирования и рекомендаций. Если вы обеспокоены этим поведением, отключите эту функцию.
прямое копирование
Инструкция COPY — это основной способ приема данных в таблицы хранилища. Команда COPY хранилища данных напрямую поддерживает Хранилище BLOB-объектов Azure и Azure Data Lake Storage 2-го поколения в качестве хранилищ исходных данных. Если исходные данные соответствуют критериям, описанным в этом разделе, используйте команду COPY для копирования непосредственно из исходного хранилища данных в хранилище данных.
Исходные данные и формат содержат следующие типы и методы проверки подлинности:
Поддерживаемый тип хранилища исходных данных Поддерживаемый формат Поддерживаемый тип проверки подлинности источника Хранилище BLOB-объектов Azure Текст с разделителями
Parquetанонимная аутентификация;
Проверка подлинности на основе ключа учетной записи
Аутентификация SASAzure Data Lake Storage 2-го поколения Текст с разделителями
ParquetПроверка подлинности на основе ключа учетной записи
Аутентификация SASМожно задать следующие параметры формата:
- Для Parquet: тип сжатия может быть None, snappy или gzip.
- Для разделителя:
- Разделитель строк: при копировании текста с разделителями в хранилище данных с помощью прямой команды COPY укажите разделитель строк явным образом (\r; \n; или \r\n). Только если разделитель строк исходного файла равен \r\n, значение по умолчанию (\r, \n или \r\n). В противном случае включите промежуточное хранение для вашего сценария.
- Значение NULL остается в качестве значения по умолчанию или имеет значение пустой строки ("").
- Кодировка остается по умолчанию или имеет значение UTF-8 или UTF-16.
- Число строк пропускается по умолчанию или имеет значение 0.
- Тип сжатия может быть None или gzip.
Если источник является папкой, установите флажок "Рекурсивно ".
Время начала (UTC) и время окончания (UTC) в фильтре по последнему изменению, префиксу, включению обнаружения секций и дополнительным столбцам не указаны.
Сведения о приеме данных в хранилище данных с помощью команды COPY см. в этой статье.
Если исходное хранилище данных и формат не поддерживаются командой COPY, используйте поэтапное копирование с помощью функции команды COPY. Он автоматически преобразует данные в формат, совместимый с командой COPY, а затем вызывает команду COPY для загрузки данных в хранилище данных.
промежуточное копирование
Если исходные данные не совместимы с командой COPY, включите копирование данных через промежуточное хранилище. В этом случае служба автоматически преобразует данные в соответствии с требованиями к формату данных команды COPY. Затем она вызывает команду COPY для загрузки данных в хранилище данных. Наконец, производится очистка временных данных из хранилища.
Чтобы использовать поэтапное копирование, перейдите на вкладку "Параметры " и выберите "Включить промежуточное копирование". Вы можете выбрать рабочую область для использования автоматического промежуточного хранилища в Fabric. Для внешних Хранилище BLOB-объектов Azure и Azure Data Lake Storage 2-го поколения поддерживаются как внешнее промежуточное хранилище. Сначала необходимо создать подключение Хранилище BLOB-объектов Azure или Azure Data Lake Storage 2-го поколения, а затем выбрать подключение из раскрывающегося списка, чтобы использовать промежуточное хранилище.
Обратите внимание, что необходимо убедиться, что диапазон IP-адресов хранилища данных разрешен правильно из промежуточного хранилища.
Сопоставление
Если конфигурация вкладки "Сопоставление" не применяется к хранилищу данных с автоматическим созданием таблицы в качестве назначения, перейдите к разделу "Сопоставление".
Если вы применяете хранилище данных с автоматическим созданием таблицы в качестве назначения, за исключением конфигурации в сопоставлении, можно изменить тип для столбцов назначения. После выбора схемы импорта можно указать тип столбца в назначении.
Например, тип столбца идентификатора в источнике является int, и его можно изменить на float type при сопоставлении с целевым столбцом.
Настройки
Для настройки вкладки "Параметры" перейдите в раздел "Параметры".
Сводка таблицы
В следующих таблицах содержатся дополнительные сведения о действии копирования в хранилище данных.
Сведения об источнике
Имя | Описание | Значение | Обязательное поле | Свойство скрипта JSON |
---|---|---|---|---|
Тип хранилища данных | Тип хранилища данных. | Рабочая область | Да | / |
Тип хранилища данных рабочей области | Раздел для выбора типа хранилища данных рабочей области. | Хранилище данных | Да | type |
Хранилище данных | Хранилище данных, которое вы хотите использовать. | <хранилище данных> | Да | конечная точка artifactId |
Использование запроса | Способ чтения данных из хранилища данных. | •Таблицы •Запрос • Хранимая процедура |
No | (под typeProperties ->source )• typeProperties: schema table • sqlReaderQuery • sqlReaderStoredProcedureName |
Время ожидания запроса (минуты) | Время ожидания выполнения команды запроса с значением по умолчанию — 120 минут. Если это свойство задано, допустимые значения находятся в формате интервала времени, например "02:00:00" (120 минут). | timespan | No | queryTimeout |
Уровень изоляции | Поведение блокировки транзакций для источника. | •Никакой •Снимок |
No | isolationLevel |
Параметр секции | Параметры секционирования данных, используемые для загрузки данных из хранилища данных. | •Никакой •Динамический диапазон |
No | partitionOption |
Имя столбца секции | Имя исходного столбца в целочисленном или типе даты и даты и времени (int ,, smalldatetime date bigint datetime smallint datetime2 илиdatetimeoffset ) используется секционированием диапазона для параллельной копии. Если значение не указано, то индекс или первичный ключ таблицы определяется автоматически и используется в качестве столбца секционирования. |
<Имя столбца секции> | No | partitionColumnName |
Верхняя граница секции | Максимальное значение столбца секционирования для разделения диапазона секций. Это значение используется для выбора шага секционирования, а не для фильтрации строк в таблице. Все строки в таблице или результатах запроса секционируются и копируются. | <верхняя граница секции> | No | partitionUpperBound |
Нижняя граница секции | Минимальное значение столбца секционирования для разделения диапазона секций. Это значение используется для выбора шага секционирования, а не для фильтрации строк в таблице. Все строки в таблице или результатах запроса секционируются и копируются. | <нижняя граница секции> | No | partitionLowerBound |
Дополнительные столбцы | Добавьте дополнительные столбцы данных для хранения относительного пути или статического значения исходных файлов. | • Имя •Ценность |
No | additionalColumns: •имя •ценность |
Сведения о назначении
Имя | Описание | Значение | Обязательное поле | Свойство скрипта JSON |
---|---|---|---|---|
Тип хранилища данных | Тип хранилища данных. | Рабочая область | Да | / |
Тип хранилища данных рабочей области | Раздел для выбора типа хранилища данных рабочей области. | Хранилище данных | Да | type |
Хранилище данных | Хранилище данных, которое вы хотите использовать. | <хранилище данных> | Да | конечная точка artifactId |
Таблицу | Целевая таблица для записи данных. | <имя целевой таблицы> | Да | схема table |
Копирование параметров команды | Параметры свойства команды копирования. Содержит параметры значения по умолчанию. | Значение по умолчанию:. •Столбец •Ценность |
No | copyCommandSettings: defaultValues: • columnName • defaultValue |
Параметр таблицы | Следует ли автоматически создавать целевую таблицу, если ни одна из них не существует на основе исходной схемы. | •Никакой • Автоматическая создание таблицы |
No | tableOption: • autoCreate |
Скрипт предварительного копирования | SQL-запрос для запуска перед записью данных в хранилище данных в каждом запуске. Это свойство используется для очистки предварительно загруженных данных. | <скрипт предварительного копирования> | No | preCopyScript |
Время ожидания пакетной службы | Время ожидания завершения операции пакетной вставки до истечения времени ожидания. Допустимые значения находятся в формате интервала времени. Значение по умолчанию — "00:30:00" (30 минут). | timespan | No | writeBatchTimeout |
Отключение аналитики метрик производительности | Служба собирает метрики для оптимизации производительности копирования и рекомендаций, которые вводят дополнительный доступ к главной базе данных. | Выбор или отмена выбора | No | disableMetricsCollection: true или false |