Partilhar via


Copiar dados do Greenplum usando o Azure Data Factory ou o Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Este artigo descreve como usar a Atividade de Cópia em um pipeline do Azure Data Factory ou do Synapse Analytics para copiar dados do Greenplum. 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 Greenplum versão 1.0 está em fase de remoção. Recomenda-se atualizar o conector Greenplum da versão 1.0 para 2.0.

Capacidades suportadas

Este conector Greenplum é suportado para as seguintes capacidades:

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

(1) Tempo de execução de integração do Azure (2) Tempo de execução de integração auto-hospedado

Para obter uma lista de armazenamentos de dados suportados como fontes/coletores pela atividade de cópia, consulte a tabela Armazenamentos de dados suportados.

O serviço fornece um driver interno para habilitar a conectividade, portanto, você não precisa instalar manualmente nenhum driver usando esse conector.

Pré-requisitos

Se seu armazenamento de dados estiver localizado dentro de uma rede local, uma rede virtual do Azure ou a Amazon Virtual Private Cloud, você precisará configurar um tempo de execução de integração auto-hospedado para se conectar a ele.

Se o seu armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Tempo de Execução de Integração do Azure. Se o acesso for restrito a IPs aprovados nas regras de firewall, você poderá adicionar IPs do Azure Integration Runtime à lista de permissões.

Você também pode usar o recurso de tempo de execução de integração de rede virtual gerenciada no Azure Data Factory para acessar a rede local sem instalar e configurar um tempo de execução de integração auto-hospedado.

Para obter mais informações sobre os mecanismos de segurança de rede e as opções suportadas pelo Data Factory, consulte Estratégias de acesso a dados.

Introdução

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 Greenplum usando a interface do usuário

Use as etapas a seguir para criar um serviço vinculado ao Greenplum na interface do usuário do portal do Azure.

  1. Navegue até a guia Gerenciar em seu espaço de trabalho do Azure Data Factory ou Synapse e selecione Serviços Vinculados e clique em Novo:

  2. Procure Greenplum e selecione o conector Greenplum.

    Screenshot do conector Greenplum.

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

    Captura de tela da configuração do serviço vinculado para o Greenplum.

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 Greenplum.

Propriedades do serviço vinculado

O conector Greenplum agora suporta a versão 2.0. Consulte esta seção para atualizar sua versão do conector Greenplum da versão 1.0. Para obter os detalhes da propriedade, consulte as seções correspondentes.

Versão 2.0

O serviço vinculado Greenplum suporta as seguintes propriedades quando aplicar a versão 2.0:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como: Greenplum Sim
versão A versão que especificares. O valor é 2.0. Sim
alojar Especifica o nome do host - e, opcionalmente, a porta - no qual o banco de dados está sendo executado. Sim
porta A porta TCP do servidor de banco de dados. O valor predefinido é 5432. Não
base de dados O banco de dados ao qual se conectar. Sim
nome de utilizador O nome de usuário com o qual se conectar. Não é necessário se estiver usando IntegratedSecurity. Sim
palavra-passe A senha com a qual se conectar. Não é necessário se estiver usando IntegratedSecurity. Marque este campo como SecureString para armazená-lo com segurança. Ou, você pode fazer referência a um segredo armazenado no Cofre da Chave do Azure. Sim
modo SSL Controla se o SSL é usado, dependendo do suporte ao servidor.
- Desativar: SSL está desativado. Se o servidor exigir SSL, a conexão falhará.
- Permitir: Prefira conexões não SSL se o servidor permitir, mas permita conexões SSL.
- Preferir: Prefira conexões SSL se o servidor permitir, mas permita conexões sem SSL.
- Exigir: Falha na conexão se o servidor não suportar SSL.
- Verify-ca: Falha na conexão se o servidor não suportar SSL. Também verifica o certificado do servidor.
- Verificação completa: falha na conexão se o servidor não suportar SSL. Também verifica o certificado do servidor com o nome do host.
Opções: Desativar (0) / Permitir (1) / Preferir (2) / Exigir (3) (Padrão) / Verificar-ca (4) / Verificar-completo (5)
Sim
tipo de autenticação Tipo de autenticação para conexão com o banco de dados. Apenas suporta Basic. Sim
ConecteVia O tempo de execução de integração a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, ele usará o Tempo de Execução de Integração do Azure padrão. Não
Propriedades de conexão adicionais:
tempo de espera da conexão O tempo de espera (em segundos) ao tentar estabelecer uma conexão antes de encerrar a tentativa e gerar um erro. O valor predefinido é 15. Não
commandTimeout O tempo de espera (em segundos) ao tentar executar um comando antes de encerrar a tentativa e gerar um erro. Defina para zero para obter o infinito. O valor predefinido é 30. Não

Exemplo:

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exemplo: armazenar senha no Cofre da Chave do Azure

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "version": "2.0",
        "typeProperties": {
            "host": "<host>",
            "port": 5432,
            "database": "<database>",
            "username": "<username>",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            },
            "sslMode": <sslmode>,
            "authenticationType": "Basic"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Versão 1.0

O serviço vinculado Greenplum suporta as seguintes propriedades quando aplicar a versão 1.0:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como: Greenplum Sim
string de conexão Uma cadeia de conexão ODBC para se conectar ao Greenplum.
Você também pode colocar a senha no Cofre de Chaves do Azure e extrair a pwd configuração da cadeia de conexão. Consulte os seguintes exemplos e o artigo Armazenar credenciais no Cofre de Chaves do Azure com mais detalhes.
Sim
ConecteVia O tempo de execução de integração a ser usado para se conectar ao armazenamento de dados. Saiba mais na seção Pré-requisitos . Se não for especificado, ele usará o Tempo de Execução de Integração do Azure padrão. Não

Exemplo:

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;PWD=<password>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Exemplo: armazenar senha no Cofre da Chave do Azure

{
    "name": "GreenplumLinkedService",
    "properties": {
        "type": "Greenplum",
        "typeProperties": {
            "connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;",
            "pwd": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "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 suportadas pelo conjunto de dados Greenplum.

Para copiar dados do Greenplum, defina a propriedade type do conjunto de dados como GreenplumTable. As seguintes propriedades são suportadas:

Propriedade Descrição Obrigatório
tipo A propriedade type do conjunto de dados deve ser definida como: GreenplumTable Sim
esquema Nome do esquema. Não (se "consulta" na fonte da atividade for especificado)
tabela Nome da tabela. Não (se "consulta" na fonte da atividade for especificado)
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 especificado)

Exemplo

{
    "name": "GreenplumDataset",
    "properties": {
        "type": "GreenplumTable",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Greenplum linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriedades da atividade Copy

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 suportadas pela fonte Greenplum.

GreenplumSource como fonte

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

Propriedade Descrição Obrigatório
tipo A propriedade type da fonte de atividade de cópia deve ser definida como: GreenplumSource Sim
consulta Use a consulta SQL personalizada para ler dados. Por exemplo: "SELECT * FROM MyTable". Não (se "tableName" no conjunto de dados for especificado)

Exemplo:

"activities":[
    {
        "name": "CopyFromGreenplum",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Greenplum input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "GreenplumSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Mapeamento de tipo de dados para Greenplum

Quando você copia dados do Greenplum, os mapeamentos a seguir se aplicam dos tipos de dados do Greenplum 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 Greenplum 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)
SmallInt Int16 Int16
Número inteiro Int32 Int32
BigInt Int64 Int64
Decimal (Precisão <= 28) Decimal Decimal
Decimal (Precisão > 28) Decimal Cordão
Numérico Decimal Decimal
real Solteiro Solteiro
Duplo Duplo Duplo
SmallSerial Int16 Int16
Série Int32 Int32
BigSerial Int64 Int64
Dinheiro Decimal Cordão
Char Cordão Cordão
Varchar Cordão Cordão
Texto Cordão Cordão
Bytea Byte[] Byte[]
Data e Hora Data e Hora Data e Hora
Data/Hora com Fuso Horário Desvio de Data e Hora Cordão
Data Data Data e Hora
Tempo / Hora Período de tempo Período de tempo
Tempo com fuso horário Desvio de Data e Hora Cordão
Intervalo Período de tempo Cordão
booleano booleano booleano
Ponto Cordão Cordão
Linha Cordão Cordão
Iseg Cordão Cordão
Caixa Cordão Cordão
Caminho Cordão Cordão
Polígono Cordão Cordão
Círculo Cordão Cordão
CIDR Cordão Cordão
Inet Cordão Cordão
Macaddr Cordão Cordão
Macaddr8 Cordão Cordão
Tsvector Cordão Cordão
Tsquery Cordão Cordão
Identificador Único Universal (UUID) Guia Guia
Json Cordão Cordão
Jsonb Cordão Cordão
Matriz Cordão Cordão
Pouco Byte[] Byte[]
Variação de bits Byte[] Byte[]
XML Cordão Cordão
IntArray Cordão Cordão
TextArray Cordão Cordão
NumericArray Cordão Cordão
DateArray Cordão Cordão
Alcance Cordão Cordão
Bpchar Cordão Cordão

Propriedades da atividade de pesquisa

Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.

Atualize o conector Greenplum

Aqui estão as etapas que ajudam você a atualizar seu conector Greenplum:

  1. Na página Editar serviço vinculado , selecione versão 2.0 e configure o serviço vinculado fazendo referência às propriedades do serviço vinculado versão 2.0.

  2. O mapeamento de tipo de dados para o serviço vinculado Greenplum 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 Greenplum.

Diferenças entre Greenplum versão 2.0 e versão 1.0

O conector Greenplum versão 2.0 oferece novas funcionalidades e é compatível com a maioria dos recursos da versão 1.0. A tabela abaixo mostra as diferenças de recursos entre a versão 2.0 e a versão 1.0.

Versão 2.0 Versão 1.0
Os mapeamentos a seguir são usados de tipos de dados Greenplum para tipos de dados de serviço provisórios.

Decimal (Precisão Numérica > 28) -> Decimal
Dinheiro -> Decimal
Carimbo de data/hora com fuso horário -> DateTimeOffset
Hora com fuso horário -> DateTimeOffset
Intervalo -> TimeSpan
Os mapeamentos a seguir são usados de tipos de dados Greenplum para tipos de dados de serviço provisórios.

Decimal (Precisão > 28) -> String
Dinheiro -> String
Estampilha de data/hora com fuso horário - >String
Hora com fuso horário -> String
Intervalo -> String

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