Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ:
Фабрика данных Azure
Azure Synapse Analytics
Совет
Ищете простой способ перемещения данных? Задание копирования в Microsoft Fabric предоставляет простой масштабируемый способ загрузки данных без создания конвейера. Узнайте, как создать его.
В конвейерах Фабрики данных Azure и Synapse с помощью действия Copy можно копировать данные между локальными и облачными хранилищами данных. После копирования данных можно использовать другие действия для дальнейшего преобразования и анализа. С помощью действия копирования можно также публиковать результаты преобразования и анализа для бизнес-аналитики и использования приложения.
Действие копирования выполняется в среде выполнения интеграции. Для различных сценариев копирования данных можно использовать разные типы среды выполнения интеграции.
- При копировании данных между двумя хранилищами данных, доступ к которым осуществляется через Интернет с любого IP-адреса, для действия копирования можно использовать среду выполнения интеграции Azure. Эта среда выполнения интеграции является безопасной, надежной, масштабируемой и глобально доступной.
- При копировании данных в хранилища данных, расположенные локально или в сети с контролем доступа (например, виртуальной сети Azure), и из них необходимо настроить локальную среду выполнения интеграции.
Среду выполнения интеграции следует связать с каждым хранилищем данных источника и приемника. Сведения о том, как операция копирования определяет, какую среду выполнения интеграции использовать, см. в разделе Выбор IR.
Примечание.
В одном действии копирования нельзя использовать несколько локальных сред выполнения интеграции. Источник и приемник действия должны быть подключены к той же локальной среде выполнения интеграции.
Чтобы скопировать данные из источника в приемник, служба, выполняющая действие копирования, выполняет следующие действия.
- Считывает данные из источника данных.
- Выполняет сериализацию или десериализацию, сжатие или распаковку, сопоставление столбцов и т. д. Она выполняет эти операции в соответствии с конфигурациями наборов входных данных, наборов выходных данных и действия копирования.
- Записывает данные в приемник или целевое хранилище данных.
Примечание.
Если автономная среда выполнения интеграции используется в источнике или приемнике хранилища данных в задаче копирования, то и источник, и приемник должны быть доступны серверу, на котором расположена среда выполнения интеграции, для успешного выполнения задачи копирования.
Поддерживаемые хранилища данных и форматы
Примечание.
Пометка предварительная версия возле соединителя означает, что с ним можно поработать и оставить отзыв. Если вы хотите использовать в своем решении зависимость от соединителей в предварительной версии, обратитесь в службу поддержки Azure.
Поддерживаемые типы файлов
Фабрика данных Azure поддерживает следующие форматы файлов. Дополнительные сведения о параметрах с учетом форматирования см. в соответствующих статьях.
- Формат Avro
- Двоичный формат
- Формат текста с разделителями
- Формат Excel
- Формат Айсберга (только для Azure Data Lake Storage 2-го поколения)
- Формат JSON
- Формат ORC
- Формат Parquet
- ФОРМАТ XML
Действие копирования можно использовать для копирования файлов "как есть" между двумя хранилищами данных на основе файлов. При этом данные эффективно копируются без какой-либо сериализации или десериализации. Кроме того, можно выполнять синтаксический анализ или создать файлы определенного формата, например, можно выполнить следующие действия:
- скопировать данные из Базы данных SQL Server и записать их в Azure Data Lake Storage 2-го поколения в формате Parquet;
- скопировать файлы в текстовом формате (CSV) из локальной файловой системы и записать их в Хранилище BLOB-объектов Azure в формате Avro;
- скопировать ZIP-файлы из локальной файловой системы, распаковать их в оперативном режиме и записать извлеченные файлы в Azure Data Lake Storage 2-го поколения;
- скопировать данные в сжатом с помощью GZip текстовом формате (CSV) из Хранилища BLOB-объектов Azure и записать их в Базу данных SQL Azure;
- многие другие действия, требующие сериализации и десериализации или сжатия и распаковки.
Поддерживаемые регионы
Служба, обеспечивающая действие копирования, является общедоступной в регионах и географических областях, перечисленных в разделе Расположение среды выполнения интеграции. Глобально доступная топология обеспечивает эффективное перемещение данных, обычно позволяя избежать "прыжков" по разным регионам. Просмотрите продукты по регионам, чтобы проверить доступность Фабрики данных, Рабочих областей Synapse и переноса данных в определенном регионе.
Настройка
Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:
- Средство копирования данных
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- REST API
- Шаблон Azure Resource Manager
Как правило, для использования действия Copy в конвейерах Фабрики данных Azure или Synapse необходимо выполнить следующие действия.
- Создать связанные службы для источника и приемника данных. Список поддерживаемых соединителей можно найти в разделе Поддерживаемые хранилища данных и форматы этой статьи. Дополнительные сведения о настройке и поддерживаемых свойствах см. в разделе "Свойства связанных служб" статьи о соединителях.
- Создать наборы данных для источника и приемника. Сведения о конфигурации и поддерживаемых свойствах см. в разделе "Свойства набора данных" статьи о соединителях источника и приемника.
- Создать конвейер с действием копирования. В следующем разделе приведен пример.
Синтаксис
Следующий шаблон действия копирования содержит полный список поддерживаемых свойств. Укажите те, которые соответствуют вашему сценарию.
"activities":[
{
"name": "CopyActivityTemplate",
"type": "Copy",
"inputs": [
{
"referenceName": "<source dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<sink dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>",
<properties>
},
"sink": {
"type": "<sink type>"
<properties>
},
"translator":
{
"type": "TabularTranslator",
"columnMappings": "<column mapping>"
},
"dataIntegrationUnits": <number>,
"parallelCopies": <number>,
"enableStaging": true/false,
"stagingSettings": {
<properties>
},
"enableSkipIncompatibleRow": true/false,
"redirectIncompatibleRowSettings": {
<properties>
}
}
}
]
Сведения о синтаксисе
| Свойство | Описание | Обязательное? |
|---|---|---|
| тип | Для действия копирования задайте значение Copy |
Да |
| входные данные | Укажите созданный набор данных, в котором указаны исходные данные. Действие копирования поддерживает только один входной элемент. | Да |
| выходные данные | Укажите созданный набор данных, в котором указаны данные приемника. Действие копирования поддерживает только один результат. | Да |
| свойстваТипа | Укажите свойства для настройки действия копирования. | Да |
| Источник | Укажите тип источника копирования и соответствующие свойства для извлечения данных. Дополнительные сведения см. в разделе "Свойства действия копирования" в статье о соединителях, приведенной в статье Поддерживаемые хранилища данных и форматы. |
Да |
| тонуть | Укажите тип приемника копирования и соответствующие свойства для записи данных. Дополнительные сведения см. в разделе "Свойства действия копирования" в статье о соединителях, приведенной в статье Поддерживаемые хранилища данных и форматы. |
Да |
| переводчик | Укажите явные сопоставления столбцов от источника к приемнику. Это свойство применяется, если поведение копирования по умолчанию не соответствует вашим потребностям. Для получения дополнительной информации см. в разделе Сопоставление схем при выполнении действия копирования. |
нет |
| блоки интеграции данных | Укажите меру, представляющую мощность, которую среда выполнения интеграции Azure использует для копирования данных. Эти единицы ранее назывались облачными единицами перемещения данных. Дополнительные сведения см. в разделе Единицы интеграции данных. |
нет |
| параллельные копии | Укажите показатель параллелизма, который должно использовать действие копирования при считывании данных из источника и записи данных в приемник. Дополнительные сведения см. в разделе Параллельное копирование. |
нет |
| сохранить | Укажите, следует ли сохранять метаданные и списки ACL во время копирования данных. Дополнительные сведения см. в разделе Сохранение метаданных. |
нет |
| enableStaging stagingSettings |
Укажите, следует ли размещать временные данные в хранилище BLOB-объектов, вместо того чтобы напрямую копировать данные из источника в приемное хранилище. Сведения о полезных сценариях и сведениях о конфигурации см. в разделе Промежуточное копирование. |
нет |
| включитьПропускНесовместимойСтроки ПеренаправлениеНесовместимыхНастроекСтрок |
Позволяет выбрать способ обработки несовместимых строк при копировании данных из источника в приемник. Дополнительные сведения см. в разделе Отказоустойчивость. |
нет |
Наблюдение
Вы можете отслеживать выполнение действия Copy в конвейерах Фабрики данных Azure и Synapse визуально и программно. Для получения подробной информации см. раздел Мониторинг активности копирования.
Добавочное копирование
Конвейеры Фабрики данных и Synapse позволяют постепенно копировать разностные данные из хранилища данных источника в хранилище данных приемника. Дополнительные сведения см. в учебнике по добавочному копированию данных.
Производительность и настройка
В процессе мониторинга действия копирования отображается статистика производительности копирования для каждого выполненного действия. Сведения о ключевых факторах, влияющих на производительность перемещения данных с помощью действия Copy, см. в руководстве по производительности и масштабируемости действия Copy. В нем также указаны значения производительности, наблюдаемые во время тестирования, и объясняется, как оптимизировать производительность действия копирования.
Возобновление после последнего неудачного запуска
Действие копирования поддерживает возобновление с последней неудачной попытки при копировании больших файлов в неизменном виде с двоичным форматом между файловыми хранилищами и выбор сохранения иерархии папок/файлов от источника к приемнику, например для переноса данных из Amazon S3 в Azure Data Lake Storage Gen2. Он применяется к следующим соединителям на основе файлов: Amazon S3, совместимое с Amazon S3 хранилище, хранилище Blob-объектов Azure, Azure Data Lake Storage поколение 1, Azure Data Lake Storage поколение 2, Файловая система, FTP, Google Cloud Storage, HDFS, Oracle Cloud Storage и SFTP.
Вы можете использовать возобновление действия копирования двумя следующими способами:
Повторная попытка на уровне активности: Вы можете задать количество повторных попыток для копирования данных. При выполнении конвейера, если выполнение этого действия копирования завершается сбоем, следующая автоматическая повторная попытка начинается с точки сбоя последней пробной версии.
Повторное выполнение из неудавшегося действия: После завершения выполнения конвейера вы также можете запустить повторное выполнение из неудавшегося действия в окне мониторинга интерфейса пользователя ADF или программно. Если сбой произошел в действии копирования, конвейер будет перезапущен не только с этого действия, но и будет возобновлён с точки сбоя предыдущего запуска.
Несколько моментов, которые следует помнить:
- Возобновление происходит на уровне файла. Если действие копирования завершается ошибкой при копировании файла, в следующем запуске этот конкретный файл будет повторно скопирован.
- Чтобы возобновление прошло должным образом, не изменяйте настройки действия копирования между запусками.
- При копировании данных из Amazon S3, BLOB-объектов Azure, Azure Data Lake Storage 2-го поколения и Google Cloud Storage действие копирования может возобновиться из произвольного количества скопированных файлов. Хотя для остальных файловых соединителей в качестве источника, в настоящее время операция копирования поддерживает возобновление копирования с ограниченного числа файлов, обычно в пределах нескольких десятков тысяч, и это зависит от длины путей файлов; файлы, выходящие за пределы этого количества, будут рекопированы при повторных запусках.
Для других сценариев, помимо копирования двоичных файлов, действие копирования возобновляется сначала.
Примечание.
Возобновление последнего неудачного запуска через локальную среду выполнения интеграции теперь поддерживается только в локальной среде выполнения интеграции версии 5.43.8935.2 или более поздней.
Сохранение метаданных вместе с данными
При копировании данных из источника в приемник в таких сценариях, как миграция озера данных, можно также сохранить метаданные и списки контроля доступа вместе с данными, используя действие копирования. Дополнительные сведения см. в разделе Сохранение метаданных.
Добавление тегов метаданных в приемник на основе файлов
Если приемник основан на службе хранилища Azure (хранилище озера данных Azure или хранилище объектов BLOB Azure), мы можем добавить в файлы некоторые метаданные. Эти метаданные будут отображаться как часть свойств файла в виде пар "Ключ-значение". Для всех типов приемников на основе файлов можно добавлять метаданные, включающие динамическое содержимое, с помощью параметров конвейера, системных переменных, функций и переменных. Помимо этого, для приемника на основе двоичного файла можно добавить дату последнего изменения (исходного файла) с помощью ключевого слова $$LASTMODIFIED и пользовательских значений в качестве метаданных в файл приемника.
Сопоставление схемы и типов данных
Сведения о том, как действие копирования сопоставляет данные источника с приемником, см. в разделе Схема и сопоставление типов данных.
Добавление дополнительных столбцов во время копирования
Помимо копирования данных из хранилища данных источника в приемник, можно также настроить добавление дополнительных столбцов данных для копирования в приемник. Например:
- При копировании из файлового источника сохраните относительный путь к файлу в виде дополнительного столбца типа String, чтобы отследить, из какого файла поступают данные.
- Дублировать указанный исходный столбец в виде другого столбца.
- Добавьте столбец с выражением ADF, чтобы присоединить системные переменные ADF, такие как имя конвейера или идентификатор конвейера, или сохранить другое динамическое значение из выходных данных вышестоящего действия.
- Добавьте столбец со статическим значением в соответствии с требованиями к дальнейшему потреблению.
Следующую конфигурацию можно найти на вкладке исходных данных действия копирования. Дополнительные столбцы также можно сопоставить в сопоставлении схемы действия копирования, как обычно, с использованием определённых имен столбцов.
Совет
Эта функция работает с последней моделью наборов данных. Если параметр не отображается в пользовательском интерфейсе, попробуйте создать новый набор данных.
Чтобы настроить его программно, добавьте свойство additionalColumns в источник действия копирования.
| Свойство | Описание | Обязательное поле |
|---|---|---|
| дополнительные столбцы | Добавьте еще столбцы данных для копирования в приемник. Каждый объект в массиве additionalColumns представляет дополнительный столбец.
name определяет имя столбца, а value указывает значение данных этого столбца.Допустимые значения: - $$FILEPATH — зарезервированная переменная указывает на относительный путь исходных файлов к папке, указанной в наборе данных. Применяется к файловому источнику.- $$COLUMN:<source_column_name> — шаблон зарезервированной переменной указывает на дублирование указанного исходного столбца в качестве другого столбца.- Выражение - Статическое значение |
нет |
Пример:
"activities":[
{
"name": "CopyWithAdditionalColumns",
"type": "Copy",
"inputs": [...],
"outputs": [...],
"typeProperties": {
"source": {
"type": "<source type>",
"additionalColumns": [
{
"name": "filePath",
"value": "$$FILEPATH"
},
{
"name": "newColName",
"value": "$$COLUMN:SourceColumnA"
},
{
"name": "pipelineName",
"value": {
"value": "@pipeline().Pipeline",
"type": "Expression"
}
},
{
"name": "staticValue",
"value": "sampleValue"
}
],
...
},
"sink": {
"type": "<sink type>"
}
}
}
]
Совет
После настройки дополнительных столбцов не забудьте сопоставить их с приемником назначения на вкладке "Сопоставление".
Автоматическое создание приемных таблиц
При копировании данных в базу данных SQL или Azure Synapse Analytics, если целевая таблица не существует, действие копирования поддерживает автоматическое создание данных на основе исходных данных. Такое решение призвано помочь вам быстро начать загрузку данных и оценить базу данных SQL или Azure Synapse Analytics. После приема данных можно просматривать и корректировать схему таблицы приемника в соответствии с вашими потребностями.
Эта функция поддерживается при копировании данных из любого источника в следующие хранилища данных приемника. Вы можете найти параметр в пользовательском интерфейсе ADF authoring UI ->синхронизации копирования ->табличный вариант ->Автоматическое создание таблицы, или через tableOption свойство в нагрузке синхронизации копирования.
Отказоустойчивость
По умолчанию действие копирования прекращает копирование данных и возвращает ошибку, если строки данных источника несовместимы со строками данных приемника. Чтобы выполнить копирование, можно настроить действие копирования так, чтобы пропускать и регистрировать несовместимые строки, а копировать только совместимые данные. Дополнительные сведения см. в статье Отказоустойчивость действия копирования.
Проверка согласованности данных
При перемещении данных из источника в целевое хранилище действие копирования позволяет выполнять дополнительную проверку согласованности данных, чтобы убедиться, что данные не только успешно копируются из источника в целевое хранилище, но и проверяются на согласованность между исходным и целевым хранилищем. После обнаружения несогласованных файлов во время перемещения можно либо прервать действие копирования, либо продолжить копирование остальных данных, включив параметр отказоустойчивости для пропуска несогласованных файлов. Имена пропущенных файлов можно получить, включив настройку ведения журнала сеанса в параметрах действия копирования. Дополнительные сведения см. в статье Проверка согласованности данных в действии копирования.
Журнал сеанса
Вы можете записать скопированные имена файлов, которые помогут вам еще больше убедиться, что данные не только успешно копируются из источника в целевое хранилище, но и согласованы между исходным и целевым хранилищем, просматривая журналы сеансов копирования. См. раздел действие копирования для входа в сеанс для подробностей.
Связанный контент
Ознакомьтесь со следующими руководствами и примерами: