Копирование данных из Amazon Redshift с помощью Фабрика данных Azure или Synapse Analytics

ПРИМЕНИМО К: Фабрика данных Azure Azure Synapse Analytics

Совет

Data Factory в Microsoft Fabric — это следующее поколение Фабрика данных Azure с более простой архитектурой, встроенным ИИ и новыми функциями. Если вы не знакомы с интеграцией данных, начните с Fabric Data Factory. Существующие рабочие нагрузки ADF могут обновляться до Fabric для доступа к новым возможностям в области обработки и анализа данных, аналитики в режиме реального времени и отчетов.

В этой статье описывается, как использовать действие копирования в конвейерах Фабрика данных Azure и Synapse Analytics для копирования данных из Amazon Redshift. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.

Это важно

Соединитель Amazon Redshift версии 2.0 обеспечивает улучшенную поддержку Amazon Redshift. Если вы используете коннектор Amazon Redshift версии 1.0 в вашем решении, обновите коннектор Amazon Redshift, так как версия 1.0 находится на этапе завершения поддержки. Ваш поток данных завершится сбоем после 30 апреля 2026 г. Дополнительные сведения о разнице между версией 2.0 и версией 1.0 см. в этом разделе .

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

Соединитель Amazon Redshift поддерживается для следующих возможностей:

Поддерживаемые возможности ИКР (инфракрасное излучение)
действие Copy (источник/-) (1) (2)
Операция поиска (1) (2)

(1) Azure среды выполнения интеграции (2) локальная среда выполнения интеграции

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

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

Соединитель Amazon Redshift поддерживает получение данных из Redshift с помощью запросов или встроенной поддержки Redshift UNLOAD.

Соединитель поддерживает версии Windows в этой статье.

Совет

Чтобы обеспечить наилучшую производительность при копировании больших объемов данных из Redshift, рекомендуется использовать встроенный механизм Redshift UNLOAD через Amazon S3. Дополнительные сведения см. в разделе Копирование данных из Amazon Redshift с помощью UNLOAD.

Предварительные требования

При копировании данных в локальное хранилище с использованием самостоятельно размещённой Integration Runtime предоставьте этой программной среде исполнения (Integration Runtime) доступ к кластеру Amazon Redshift, используя IP-адрес компьютера. Инструкции см. в статье об авторизации доступа к кластеру. Для версии 2.0 локальная версия среды выполнения интеграции должна быть 5.60 или выше.

Если вы копируете данные в хранилище данных Azure, см. диапазоны IP-адресов центра данных Azure для получения сведений о диапазонах IP-адресов для вычислений и SQL, используемых центрами данных Azure.

Если хранилище данных является управляемой облачной службой данных, можно использовать Azure Integration Runtime. Если доступ ограничен ip-адресами, утвержденными в правилах брандмауэра, в список разрешений можно добавить ip-адреса Azure Integration Runtime/c0.

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

Начало работы

Для выполнения действия копирования с конвейером можно использовать один из следующих средств или пакетов SDK:

Создание связанной службы для Amazon Redshift с помощью пользовательского интерфейса

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

  1. Перейдите на вкладку "Управление" в рабочей области Фабрика данных Azure или Synapse и выберите "Связанные службы", а затем нажмите кнопку "Создать".

  2. Выполните поиск Amazon и выберите соединитель Amazon RedShift.

    Выберите соединитель Amazon RedShift.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Настройте связанную службу для Amazon Redshift.

Сведения о конфигурации соединителя

Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей фабрики данных, относящихся к соединителю Amazon Redshift.

Свойства связанного сервиса

Для связанной службы Amazon Redshift поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Для свойства типа необходимо задать значение AmazonRedshift. Да
версия Версия, которую вы указали. Да для версии 2.0.
сервер IP-адрес или имя узла сервера Amazon Redshift. Да
порт Номер TCP-порта, используемого сервером Amazon Redshift для прослушивания клиентских подключений. Нет, значение по умолчанию — 5439
база данных Имя базы данных Amazon Redshift. Да
имя пользователя Имя пользователя, имеющего доступ к базе данных. Да
пароль Пароль для учетной записи пользователя. Пометьте это поле как SecureString, чтобы безопасно хранить его, или ссылаться на секрет, хранящийся в Azure Key Vault. Да
sslmode Режим проверки SSL-сертификата, используемый при подключении к Amazon Redshift. Это свойство поддерживается только в версии 2.0.
- Verify_full. Подключение используется только с помощью SSL, доверенного центра сертификации и имени сервера, соответствующего сертификату.
- Verify_ca. Подключение только с помощью SSL и доверенного центра сертификации.
- Обязательно: подключение только с помощью SSL.
- Предпочтительный вариант. Подключение с помощью SSL при наличии. В противном случае подключитесь без использования SSL.
- Разрешено. По умолчанию подключитесь без использования SSL. Если для сервера требуются SSL-подключения, используйте SSL.
- Отключено: подключение без использования SSL.
Параметры: verify-full (по умолчанию) / verify-ca / require / prefer / allow / disable
Нет, значение по умолчанию verify-full
connectVia Integration Runtime для подключения к хранилищу данных. Вы можете использовать Azure Integration Runtime или локальную Integration Runtime (если хранилище данных находится в частной сети). Если он не указан, используется Azure Integration Runtime по умолчанию. нет

Замечание

Версия 2.0 поддерживает Azure Integration Runtime и локальную Integration Runtime версии 5.60 или более поздней. Установка драйвера больше не требуется с локальной Integration Runtime версии 5.60 или более поздней.

Пример: версия 2.0

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "version": "2.0",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Пример: версия 1.0

{
    "name": "AmazonRedshiftLinkedService",
    "properties":
    {
        "type": "AmazonRedshift",
        "typeProperties":
        {
            "server": "<server name>",
            "database": "<database name>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. Этот раздел содержит список свойств, поддерживаемых набором данных Amazon Redshift.

Для копирования данных из Amazon Redshift поддерживаются следующие свойства.

Свойство Описание: Обязательное поле
тип Свойство type для набора данных должно быть установлено как AmazonRedshiftTable Да
схема Имя схемы. Нет (если свойство query указано в источнике действия)
таблица Имя таблицы. Нет (если свойство query указано в источнике действия)
имя_таблицы Имя таблицы со схемой. Это свойство поддерживается только для обеспечения обратной совместимости. Для новых рабочих нагрузок используйте schema и table. Нет (если свойство query указано в источнике действия)

Пример

{
    "name": "AmazonRedshiftDataset",
    "properties":
    {
        "type": "AmazonRedshiftTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Amazon Redshift linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

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

Свойства действие Copy

Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры. Этот раздел содержит список свойств, поддерживаемых источником Amazon Redshift.

Amazon Redshift в качестве источника

Чтобы скопировать данные из Amazon Redshift, задайте тип источника AmazonRedshiftSource в действии копирования. В разделе действия копирования source поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
тип Свойство type источника действия копирования должно иметь значение AmazonRedshiftSource. Да
запрос Используйте пользовательский запрос для чтения данных. Например, выполните команду select * from MyTable. Нет (если для набора данных задано свойство tableName)
Настройки выгрузки Redshift Группа свойств при использовании Amazon Redshift UNLOAD. нет
s3LinkedServiceИмяСервиса Относится к службе Amazon S3, которую необходимо использовать в качестве промежуточного хранилища, указав имя связанной службы типа AmazonS3. Да, если используется UNLOAD
Имя_корзины Укажите контейнер S3 для хранения промежуточных данных. Если не указано иное, служба создает его автоматически. Да, если используется UNLOAD

Пример: источник Amazon Redshift в процессе операции копирования с помощью UNLOAD

"source": {
    "type": "AmazonRedshiftSource",
    "query": "<SQL query>",
    "redshiftUnloadSettings": {
        "s3LinkedServiceName": {
            "referenceName": "<Amazon S3 linked service>",
            "type": "LinkedServiceReference"
        },
        "bucketName": "bucketForUnload"
    }
}

Дополнительные сведения о том, как использовать UNLOAD для эффективного копирования данных из Amazon Redshift, см. в следующем разделе.

Копирование данных из Amazon Redshift с помощью UNLOAD

UNLOAD — это механизм, предоставляемый Amazon Redshift, позволяющий выгрузить результаты запроса в один или несколько файлов в Amazon Simple Storage Service (Amazon S3). Компания Amazon рекомендует использовать этот способ для копирования большого набора данных из Redshift.

Пример: скопируйте данные из Amazon Redshift в Azure Synapse Analytics с помощью UNLOAD, PolyBase и поэтапного копирования

В этом примере действия копирования выгружают данные из Amazon Redshift в Amazon S3, как настроено в "redshiftUnloadSettings", затем копируют данные из Amazon S3 в Azure Blob, как указано в "stagingSettings", и, наконец, используют PolyBase для загрузки данных в Azure Synapse Analytics. Промежуточный формат правильно обрабатывается копировочной активностью.

Копирование данных с Redshift в Azure Synapse Analytics

"activities":[
    {
        "name": "CopyFromAmazonRedshiftToSQLDW",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "AmazonRedshiftDataset",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "AzureSQLDWDataset",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "AmazonRedshiftSource",
                "query": "select * from MyTable",
                "redshiftUnloadSettings": {
                    "s3LinkedServiceName": {
                        "referenceName": "AmazonS3LinkedService",
                        "type": "LinkedServiceReference"
                    },
                    "bucketName": "bucketForUnload"
                }
            },
            "sink": {
                "type": "SqlDWSink",
                "allowPolyBase": true
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": "AzureStorageLinkedService",
                "path": "adfstagingcopydata"
            },
            "dataIntegrationUnits": 32
        }
    }
]

Сопоставление типов данных для Amazon Redshift

При копировании данных из Amazon Redshift следующие сопоставления применяются из типов данных Amazon Redshift к внутренним типам данных, используемым службой. Чтобы узнать, как действие копирования сопоставляет исходную схему и типы данных с приемником, см. раздел Сопоставление схем и типов данных.

Тип данных Amazon Redshift Тип данных промежуточной службы (для версии 2.0) Тип данных промежуточной службы (для версии 1.0)
БИГИНТ Int64 Int64
Булевый Булевый текстовая строка
ОБГОРАТЬ текстовая строка текстовая строка
Дата Дата/время Дата/время
DECIMAL (точность <= 28) Десятичное число Десятичное число
DECIMAL (точность > 28) текстовая строка текстовая строка
двойная точность Двойной Двойной
ЦЕЛОЕ ЧИСЛО Int32 Int32
реальный Одна Одна
СМОЛЛИНТ Int16 Int16
ТЕКСТ текстовая строка текстовая строка
TIMESTAMP Дата/время Дата/время
VARCHAR текстовая строка текстовая строка

Свойства действия поиска

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

Жизненный цикл и обновление соединителя Amazon Redshift

В следующей таблице показаны этап выпуска и журналы изменений для различных версий соединителя Amazon Redshift:

Версия Этап выпуска Журнал изменений
Версия 1.0 Дата окончания поддержки объявлена /
Версия 2.0 GA версия доступна • Поддерживает Azure Integration Runtime и локальную Integration Runtime версии 5.60 или более поздней. Установка драйвера больше не требуется с локальной Integration Runtime версии 5.60 или более поздней.

• BOOLEAN считывается как тип данных Boolean.

• Поддержка sslmode связанного сервиса.

Обновление соединителя Amazon Redshift с версии 1.0 до версии 2.0

  1. На странице "Изменить связанную службу " выберите версию 2.0 и настройте связанную службу, указав свойства связанной службы.

  2. Сопоставление типов данных для связанной службы Amazon Redshift версии 2.0 отличается от сопоставления типов данных для версии 1.0. Сведения о последнем сопоставлении типов данных см. в разделе "Сопоставление типов данных" для Amazon Redshift.

  3. Примените локальную среду выполнения интеграции с версией 5.60 или более поздней. Установка драйвера больше не требуется с локальной Integration Runtime версии 5.60 или более поздней.

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