Partilhar via


Copie dados do Amazon Redshift usando Azure Data Factory ou Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.

Este artigo explica como usar a Atividade de Cópia nos pipelines do Azure Data Factory e Synapse Analytics para copiar dados de um Amazon Redshift. Ele se baseia no artigo de visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.

Importante

O conector Amazon Redshift versão 2.0 oferece suporte nativo melhorado para o Amazon Redshift. Se estiver a usar o conector Amazon Redshift versão 1.0 na sua solução, por favor atualize o conector Amazon Redshift , pois a versão 1.0 está na fase de Fim de Suporte. O seu pipeline falhará após 30 de abril de 2026. Consulte esta seção para obter detalhes sobre a diferença entre a versão 2.0 e a versão 1.0.

Capacidades suportadas

Esse conector do Amazon Redshift é compatível com os seguintes recursos:

Capacidades suportadas IR
Atividade de cópia (fonte/-) (1) (2)
Atividade de Pesquisa (1) (2)

(1) Runtime de integração Azure (2) Runtime de integração auto-hospedado

Para obter uma lista de armazenamentos de dados suportados como fontes ou destinos pela atividade de cópia, consulte a tabela de Armazenamentos de Dados Suportados.

O serviço fornece um driver incorporado para permitir a conectividade, por isso não precisa de instalar nenhum driver manualmente.

O conector do Amazon Redshift suporta a recuperação de dados usando consultas ou o recurso UNLOAD integrado do Redshift.

O conector suporta as versões do Windows mencionadas neste artigo.

Gorjeta

Para obter o melhor desempenho ao copiar grandes quantidades de dados do Redshift, considere usar o UNLOAD do Redshift integrado por meio do Amazon S3. Consulte a seção Usar UNLOAD para copiar dados do Amazon Redshift para obter detalhes.

Pré-requisitos

Se estiver a copiar dados para um armazenamento local usando Self-hosted Integration Runtime, conceda a Integration Runtime (use o endereço IP da máquina) o acesso ao cluster Amazon Redshift. Consulte Autorizar acesso ao cluster para obter instruções. Para a versão 2.0, a tua versão de runtime de integração auto-hospedada deve ser 5.61 ou superior.

Se estiver a copiar dados para um Azure armazenamento de dados, veja Azure Data Center IP Ranges para os intervalos de endereços IP de cálculo e SQL usados pelos centros de dados Azure.

Se o seu armazenamento de dados for um serviço de dados na cloud gerido, pode usar o Azure Integration Runtime. Se o acesso for restrito a IPs aprovados nas regras do firewall, pode adicionar IPs Azure Integration Runtime à lista de autorizações.

Também pode usar a funcionalidade managed virtual network integration runtime no Azure Data Factory para aceder à rede local sem instalar e configurar um runtime de integração auto-hospedado.

Iniciar

Para executar a atividade de cópia com um pipeline, você pode usar uma das seguintes ferramentas ou SDKs:

Criar um serviço vinculado ao Amazon Redshift usando a interface do usuário

Use os passos seguintes para criar um serviço ligado ao Amazon Redshift na interface do portal Azure.

  1. Navegue até ao separador Gerir no seu espaço de trabalho Azure Data Factory ou Synapse e selecione Serviços Ligados, depois clique em Novo:

  2. Pesquise por Amazon e selecione o conector do Amazon Redshift.

    Selecione o conector do Amazon Redshift.

  3. Configure os detalhes do serviço, teste a conexão e crie o novo serviço vinculado.

    Configure um serviço vinculado ao Amazon Redshift.

Detalhes de configuração do conector

As seções a seguir fornecem detalhes sobre as propriedades usadas para definir entidades do Data Factory específicas para o conector do Amazon Redshift.

Propriedades do serviço vinculado

As seguintes propriedades são compatíveis com o serviço vinculado do Amazon Redshift:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como: AmazonRedshift Sim
versão A versão que especificares. Sim para a versão 2.0.
servidor Endereço IP ou nome do host do servidor Amazon Redshift. Sim
porta O número da porta TCP que o servidor do Amazon Redshift usa para escutar conexões de cliente. Não, o padrão é 5439
base de dados Nome do banco de dados do Amazon Redshift. Sim
nome de utilizador Nome do usuário que tem acesso ao banco de dados. Sim
palavra-passe Senha para a conta de usuário. Marque este campo como um SecureString para o armazenar de forma segura, ou referencia um segredo guardado em Azure Key Vault. Sim
SSLMODE O modo de verificação de certificado SSL a usar ao ligar-se ao Amazon Redshift. Esta propriedade só é suportada na versão 2.0.
- Verify_full: Ligue-se apenas usando SSL, uma autoridade certificadora de confiança e um nome de servidor que corresponda ao certificado.
- Verify_ca: Ligue-se apenas usando SSL e uma autoridade certificadora de confiança.
- Obrigatório: Liga-te apenas usando SSL.
- Preferencial: Liga-te usando SSL, se disponível. Caso contrário, liga-te sem usar SSL.
- Permitido: Por defeito, liga-te sem usar SSL. Se o servidor precisar de ligações SSL, então usa SSL.
- Desativado: Liga-te sem usar SSL.
Opções: verify-full (Padrão) / verify-ca / require / prefer / allow / disable
Não, o padrão é verify-full
ConecteVia O Integration Runtime para ser usado para se ligar ao armazenamento de dados. Pode utilizar o Azure Integration Runtime ou o Integration Runtime auto-hospedado (caso o seu armazenamento de dados esteja localizado numa rede privada). Se não for especificado, usa o Azure Integration Runtime padrão. Não

Observação

A Versão 2.0 suporta o Azure Integration Runtime e o Autohospedado Integration Runtime versão 5.61 ou superior. A instalação de drivers já não é necessária com o Self-hosted Integration Runtime versão 5.61 ou superior.

Exemplo: versão 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"
        }
    }
}

Exemplo: versão 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"
        }
    }
}

Propriedades do conjunto de dados

Para obter uma lista completa de seções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo sobre conjuntos de dados. Esta seção fornece uma lista de propriedades compatíveis com o conjunto de dados do Amazon Redshift.

Para copiar dados do Amazon Redshift, as seguintes propriedades são suportadas:

Propriedade Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como: AmazonRedshiftTable Sim
esquema Nome do esquema. Não (se "consulta" na fonte da atividade for especificada)
tabela Nome da tabela. Não (se "consulta" na fonte da atividade for especificada)
nome da tabela Nome da tabela com esquema. Esta propriedade é suportada para compatibilidade com versões anteriores. Use schema e table para nova carga de trabalho. Não (se "consulta" na fonte da atividade for especificada)

Exemplo

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

Se estivesses a usar RelationalTable um conjunto de dados tipado, ele ainda é suportado tal como está, enquanto está sugerido que utilizes o novo no futuro.

Propriedades da atividade de cópia

Para obter uma lista completa de seções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines . Esta seção fornece uma lista de propriedades compatíveis com a origem do Amazon Redshift.

Amazon Redshift como fonte

Para copiar dados do Amazon Redshift, defina o tipo de origem na atividade de cópia como AmazonRedshiftSource. As seguintes propriedades são suportadas na seção de origem da atividade de cópia:

Propriedade Descrição Obrigatório
tipo A propriedade tipo da fonte de atividade de cópia deve ser definida como: AmazonRedshiftSource Sim
consulta Use a consulta personalizada para ler dados. Por exemplo: selecione * em MyTable. Não (se o "tableName" no conjunto de dados estiver especificado)
redshiftDescarregarConfigurações Grupo de propriedade ao usar o Amazon Redshift UNLOAD. Não
s3LinkedServiceName Refere-se ao uso de um Amazon S3 como armazenamento provisório, especificando um nome de serviço vinculado do tipo "AmazonS3". Sim se estiver a utilizar UNLOAD
bucketName Indique o bucket do S3 para armazenar os dados provisórios. Se não for prestado, o serviço gera-o automaticamente. Sim se estiver a utilizar UNLOAD

Exemplo: origem do Amazon Redshift na atividade de cópia usando UNLOAD

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

Saiba mais sobre como usar o UNLOAD para copiar dados do Amazon Redshift de forma eficiente na próxima seção.

Use UNLOAD para copiar dados do Amazon Redshift

O UNLOAD é um mecanismo fornecido pelo Amazon Redshift, que pode descarregar os resultados de uma consulta para um ou mais arquivos no Amazon Simple Storage Service (Amazon S3). É a maneira recomendada pela Amazon para copiar grandes conjuntos de dados do Redshift.

Exemplo: copiar dados do Amazon Redshift para Azure Synapse Analytics usando UNLOAD, cópia em etapas e PolyBase

Neste caso de uso exemplar, a atividade de cópia descarrega dados do Amazon Redshift para Amazon S3 conforme configurado em "redshiftUnloadSettings", e depois, a atividade de cópia transfere dados do Amazon S3 para o Azure Blob conforme especificado em "stagingSettings", por fim, usa o PolyBase para carregar os dados no Azure Synapse Analytics. Todo o formato intermédio é tratado corretamente pela atividade de cópia.

Fluxo de trabalho de copiar do Redshift para o 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
        }
    }
]

Mapeamento de tipo de dados para Amazon Redshift

Quando você copia dados do Amazon Redshift, os mapeamentos a seguir se aplicam dos tipos de dados do Amazon Redshift aos tipos de dados internos usados pelo serviço. Para saber como a atividade de cópia mapeia o esquema de origem e o tipo de dados para o destino, consulte Mapeamentos de esquema e tipo de dados.

Tipo de dados do Amazon Redshift Tipo de dados de serviço provisório (para a versão 2.0) Tipo de dados de serviço provisório (para a versão 1.0)
BIGINT Int64 Int64
BOOLEANO booleano Cordão
CHAR Cordão Cordão
DATA Data e Hora Data e Hora
DECIMAL (Precisão <= 28) Decimal Decimal
DECIMAL (Precisão > 28) Cordão Cordão
DUPLA PRECISÃO Duplo Duplo
INTEIRO Int32 Int32
O Real Única Única
SMALLINT Int16 Int16
TEXTO Cordão Cordão
CARIMBO DE DATA/HORA Data e Hora Data e Hora
VARCHAR Cordão Cordão

Propriedades da atividade de consulta

Para obter detalhes sobre as propriedades, consulte Lookup activity.

Ciclo de vida e atualização do conector do Amazon Redshift

A tabela a seguir apresenta o estágio de publicação e os registos de alterações para diferentes versões do conector Amazon Redshift:

Versão Fase de lançamento Registo de alterações
Versão 1.0 Anunciado o fim do suporte /
Versão 2.0 Versão GA disponível • Suporta Azure Integration Runtime e Self-hosted Integration Runtime na versão 5.61 ou superior. A instalação de drivers já não é necessária com o Self-hosted Integration Runtime versão 5.61 ou superior.

• BOOLEAN é lido como tipo de dados booleano.

• Suporte sslmode no serviço associado.

Atualize o conector do Amazon Redshift da versão 1.0 para a versão 2.0

  1. Na página Editar serviço vinculado , selecione a versão 2.0 e configure o serviço vinculado consultando as propriedades do serviço vinculado.

  2. O mapeamento de tipos de dados para a ligação de serviço Amazon Redshift versão 2.0 é diferente daquele para a versão 1.0. Para saber o mapeamento de tipo de dados mais recente, consulte Mapeamento de tipo de dados para Amazon Redshift.

  3. Aplique um runtime de integração auto-hospedado com a versão 5.61 ou superior. A instalação de drivers já não é necessária com o Self-hosted Integration Runtime versão 5.61 ou superior.

Para obter uma lista de armazenamentos de dados suportados como fontes e destinos pela atividade de cópia, consulte armazenamentos de dados suportados.