Перемещение данных с помощью действия копирования

Примечание

В этой статье рассматривается служба "Фабрика данных Azure" версии 1. Если вы используете текущую версию Фабрики данных, см. руководство по применению действия копирования в службе "Фабрика данных Azure" версии 2.

Обзор

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

Роль действия копирования

Действием копирования управляет защищенная, надежная, масштабируемая и глобально доступная служба. Эта статья содержит сведения о перемещении данных в фабрике данных и в рамках действия копирования.

Сначала давайте рассмотрим, как происходит перенос данных между двумя облачными хранилищами данных, а также между локальным и облачным хранилищами.

Примечание

Общие сведения об определении действий см. в статье Конвейеры и действия в фабрике данных Azure.

Копирование данных из одного облачного хранилища в другое

Если источник и приемник данных расположены в облаке, то действие копирования (когда оно копирует данные из источника в приемник) проходит этапы, описанные ниже. Служба, на основе которой реализовано действие копирования, выполняет следующее:

  1. Считывает данные из источника данных.
  2. Выполняет сериализацию или десериализацию, сжатие или распаковку, сопоставление столбцов и преобразование данных из одного типа в другой. Она выполняет эти операции в соответствии с конфигурациями наборов входных данных, наборов выходных данных и действия копирования.
  3. Записывает данные в целевое хранилище данных.

Служба автоматически выбирает оптимальный регион для перемещения данных. Как правило, таким регионом является тот, который расположен ближе всего к приемнику данных.

Копирование из облака в облако

Копирование данных из локального хранилища данных в облачное и наоборот

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

В этом случае сериализацию и десериализацию данных, сжатие и распаковку, сопоставление столбцов и преобразование типов выполняет шлюз управления данными. При этом данные не передаются через службу фабрики данных Azure. Наоборот, шлюз управления данными напрямую записывает данные в целевое хранилище.

Копировать из локального хранилища в облако

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

Используя шлюз управления данными, можно также перемещать данные в поддерживаемые хранилища данных, расположенные на виртуальных машинах IaaS Azure, и из таких хранилищ. В этом случае шлюз управления данными можно установить на ту же виртуальную машину, где находится хранилище данных, или на отдельную виртуальную машину с доступом к этому хранилищу.

Поддерживаемые хранилища данных и форматы

Действие копирования в фабрике данных копирует данные из хранилища-источника в хранилище-приемник. Фабрика данных поддерживает приведенные ниже хранилища данных. Данные из любого источника можно записывать в любой приемник. Щелкните название хранилища, чтобы узнать, как скопировать данные из него или в него.

Примечание

Если необходимо переместить данные в хранилище или из хранилища данных, которое не поддерживается действием копирования, вы можете использовать в фабрике данных настраиваемое действие. В нем для копирования и перемещения данных используется логика, которую задаете вы. Сведения о создании и использовании настраиваемого действия см. в статье Использование настраиваемых действий в конвейере фабрики данных Azure.

Категория Хранилище данных Поддерживается в качестве источника Поддерживается в качестве приемника
Azure Хранилище BLOB-объектов Azure
  Azure Cosmos DB for NoSQL
  Azure Data Lake Storage 1-го поколения
  База данных SQL Azure
  Azure Synapse Analytics
  Индекс Когнитивного поиска Azure
  Хранилище таблиц Azure
Базы данных Amazon Redshift
  DB2*
  MySQL*
  Oracle*
  PostgreSQL*
  SAP Business Warehouse*
  SAP HANA*
  SQL Server*
  Sybase*
  Teradata*
NoSQL Cassandra*
  MongoDB*
Файл Amazon S3
  Файловая система*
  FTP
  HDFS*
  SFTP
Прочие Базовый протокол HTTP
  Базовый протокол OData
  Generic ODBC*
  Salesforce
  Веб-таблица (таблица на основе HTML)

Примечание

Хранилища данных, отмеченные звездочкой (*), могут находиться в локальном расположении или в IaaS Azure и требовать установки шлюза управления данными на локальном компьютере или компьютере IaaS Azure.

Поддерживаемые типы файлов

С помощью действия копирования можно скопировать файлы между двумя файловыми хранилищами как есть. Можно пропустить раздел форматирования в определениях входного и выходного наборов данных. Это позволяет эффективно копировать данные без какой-либо сериализации или десериализации.

Кроме того, действие копирования позволяет считывать и записывать файлы в таких форматах: текстовый формат, JSON, Avro, ORC и Parquet. Поддерживаются кодеки сжатия GZip, Deflate, BZip2 и ZipDeflate. Дополнительные сведения см. в разделе Форматы файлов и сжатия данных, поддерживаемые фабрикой данных Azure.

Например, можно выполнять следующие действия копирования:

  • копирование данных из базы данных SQL Server и запись в Azure Data Lake Store в формате ORC;
  • копирование файлов в текстовом формате (CSV) из локальной файловой системы и запись в большой двоичный объект Azure в формате AVRO;
  • копирование ZIP-файлов из локальной файловой системы, их распаковка и размещение в Azure Data Lake Store.
  • копирование данных в сжатом с помощью GZip текстовом формате (CSV) из большого двоичного объекта Azure и запись в Базу данных SQL Azure;

Глобально доступное перемещение данных

Фабрика данных Azure доступна только в западной части США, восточной части США и Северной Европе. А в регионах, приведенных ниже, служба, управляющая действием копирования, является общедоступной. Глобально доступная топология обеспечивает эффективное перемещение данных, обычно позволяя избежать "прыжков" по разным регионам. Дополнительные сведения о доступности фабрики данных и перемещения данных в регионе см. на этой странице.

Копирование данных из одного облачного хранилища данных в другое

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

Географическое расположение целевых хранилищ данных Регион целевого хранилища данных Регион, используемый для перемещения данных
США Восточная часть США Восточная часть США
  восточная часть США 2 восточная часть США 2
  Центральная часть США Центральная часть США
  Центрально-северная часть США Центрально-северная часть США
  Центрально-южная часть США Центрально-южная часть США
  центрально-западная часть США центрально-западная часть США
  западная часть США западная часть США
  западная часть США 2 западная часть США 2
Canada Восточная Канада Центральная Канада
  Центральная Канада Центральная Канада
Бразилия Южная Бразилия Южная Бразилия
Европа Северная Европа Северная Европа
  Западная Европа Западная Европа
Соединенное Королевство западная часть Соединенного Королевства южная часть Соединенного Королевства
  южная часть Соединенного Королевства южная часть Соединенного Королевства
Азиатско-Тихоокеанский регион Юго-Восточная Азия Юго-Восточная Азия
  Восточная Азия Юго-Восточная Азия
Австралия Восточная Австралия Восточная Австралия
  Юго-Восточная часть Австралии Юго-Восточная часть Австралии
Индия Центральная Индия Центральная Индия
  Западная Индия Центральная Индия
  Южная Индия Центральная Индия
Япония Восточная Япония Восточная Япония
  Западная Япония Восточная Япония
Корея Республика Корея, центральный регион Республика Корея, центральный регион
  Республика Корея, южный регион Республика Корея, центральный регион

Кроме того, вы можете явным образом указать регион службы фабрики данных. Чтобы использовать его при выполнении копирования, укажите свойство executionLocation в разделе typeProperties действия копирования. Поддерживаемые значения для этого свойства перечислены в приведенном выше столбце Регион, используемый для перемещения данных. Обратите внимание, что при копировании данные будут передаваться через этот регион по сети. Например, для копирования между хранилищами Azure в Корее можно указать "executionLocation": "Japan East", чтобы маршрутизация выполнялась через регион в Японии (см. пример JSON).

Примечание

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

Копирование данных из локального хранилища данных в облачное и наоборот

Когда данные копируются между локальным (виртуальные машины Azure/IaaS) и облачным хранилищами, шлюз управления данными выполняет перемещение данных на локальном компьютере или виртуальной машине. Данные не проходят через службу в облако, если вы не используете функцию промежуточного копирования . В таком случае данные проходят через промежуточное хранилище BLOB-объектов Azure и только потом записываются в хранилище-приемник данных.

Создание конвейера с действием копирования

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

С помощью мастера копирования

Мастер копирования фабрики данных помогает в создании конвейера с действием копирования. Этот конвейер позволяет копировать данные из поддерживаемых источников в места назначения, не создавая определения JSON для связанных служб, наборов данных и конвейеров. Сведения о мастере см. в статье Мастер копирования фабрики данных.

С помощью сценариев JSON

С помощью редактора фабрики данных в Visual Studio или при помощи Azure PowerShell можно создать определение JSON для конвейера (используя действие копирования). Затем его можно развернуть с целью создания конвейера в фабрике данных. Пошаговые инструкции см. в руководстве Копирование данных из хранилища BLOB-объектов Azure в базу данных SQL с помощью фабрики данных.

Свойства JSON (такие как имя, описание, входные и выходные таблицы, политики и т. д.) доступны для всех типов действий. Свойства, доступные в разделе typeProperties действия, зависят от конкретного типа действия.

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

Ниже приведен пример определения JSON.

{
  "name": "ADFTutorialPipeline",
  "properties": {
    "description": "Copy data from Azure blob to Azure SQL table",
    "activities": [
      {
        "name": "CopyFromBlobToSQL",
        "type": "Copy",
        "inputs": [
          {
            "name": "InputBlobTable"
          }
        ],
        "outputs": [
          {
            "name": "OutputSQLTable"
          }
        ],
        "typeProperties": {
          "source": {
            "type": "BlobSource"
          },
          "sink": {
            "type": "SqlSink"
          },
          "executionLocation": "Japan East"          
        },
        "Policy": {
          "concurrency": 1,
          "executionPriorityOrder": "NewestFirst",
          "retry": 0,
          "timeout": "01:00:00"
        }
      }
    ],
    "start": "2016-07-12T00:00:00Z",
    "end": "2016-07-13T00:00:00Z"
  }
}

Действия выполняются согласно расписанию, заданному в наборе выходных данных (например, ежедневно, частота — день, интервал — 1). Действие копирует данные из входного набора данных (источника) в выходной набор данных (приемник).

Для действия копирования можно указать несколько входных наборов данных. Они используются для проверки зависимостей перед выполнением действия. Однако в целевой набор данных копируются только данные из первого набора данных. Дополнительные сведения см. в статье Планирование и исполнение с использованием фабрики данных.

Производительность и настройка

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

Отказоустойчивость

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

Вопросы безопасности

Обратитесь к разделу Вопросы безопасности, в котором описывается базовая инфраструктура безопасности, используемая службами перемещения данных в фабрике данных Azure для защиты данных.

Планирование и последовательное копирование

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

Преобразование типов

Различные хранилища данных используют разные собственные системы типов. Во время копирования типы источников автоматически преобразуются в типы приемников. Такое преобразование выполняется в два этапа.

  1. Преобразование собственных типов источников в тип .NET.
  2. Преобразование типа .NET в собственный тип приемника.

Сведения о сопоставлении собственных систем типов с типами .NET см. в статьях, посвященных соответствующим хранилищам данных. (Щелкните соответствующую ссылку в таблице "Поддерживаемые хранилища данных".) Эти сопоставления позволяют выбрать подходящие типы при создании таблиц и обеспечить правильность преобразований в процессе копирования.

Дальнейшие действия