Compartilhar via


Copiar dados do Impala utilizando o Azure Data Factory ou Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise completa para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise 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 nos pipelines do Azure Data Factory ou do Azure Synapse Analytics para copiar dados de uma tabela do Impala. Ele amplia o artigo Visão geral da Atividade de Cópia que apresenta uma visão geral da atividade de cópia.

Importante

O conector Impala versão 1.0 está em fase de remoção. É recomendável atualizar o conector impala da versão 1.0 para a 2.0.

Funcionalidades com suporte

Há suporte para este conector do Impala para as seguintes funcionalidade:

Funcionalidades com suporte IR
Atividade de cópia (origem/-) (1) (2)
Atividade de pesquisa (1) (2)

① Tempo de execução de integração do Azure ② Tempo de execução de integração auto-hospedado

Para obter uma lista de armazenamentos de dados que têm suporte como fontes ou coletores da atividade de cópia, confira a tabela Armazenamentos de dados com suporte.

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

Pré-requisitos

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

Se o armazenamento de dados for um serviço de dados de nuvem gerenciado, você poderá usar o Azure Integration Runtime. Se o acesso for restrito aos IPs que estão 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 runtime de integração da rede virtual gerenciada no Azure Data Factory para acessar a rede local sem instalar e configurar um runtime de integração auto-hospedada.

Para obter mais informações sobre os mecanismos de segurança de rede e as opções compatíveis com o Data Factory, consulte Estratégias de acesso a dados.

Observação

A versão 2.0 tem suporte com o runtime de integração auto-hospedada versão 5.55 ou superior.

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

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

  1. Navegue até a guia Gerenciar no workspace do Azure Data Factory ou do Synapse e selecione Serviços Vinculados. Depois, clique em Novo:

  2. Pesquise por Impala e selecione o conector do Impala.

    Captura de tela do conector do Impala.

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

Detalhes da configuração do conector

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

Propriedades do serviço vinculado

O conector Impala agora dá suporte à versão 2.0. Consulte esta seção para atualizar a versão do conector do Impala da versão 1.0. Para obter detalhes sobre as propriedades, consulte as seções correspondentes.

Versão 2.0

O serviço vinculado do Impala dá suporte às seguintes propriedades ao aplicar a versão 2.0:

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como Impala. Sim
versão A versão que você especifica. O valor é 2.0. Sim
hospedar O endereço IP ou nome do host do servidor Impala (que é 192.168.222.160). Sim
porta A porta TCP usada pelo servidor Impala para ouvir conexões de cliente. O valor padrão é 21050. Não
thriftTransportProtocol O protocolo de transporte a ser usado na camada de Thrift. Os valores permitidos são: Binário, HTTP. O valor padrão é Binary. Sim
tipoDeAutenticação O tipo de autenticação a ser usado.
Os valores permitidos são Anonymous e UsernameAndPassword.
Sim
nome de usuário O nome de usuário usado para acessar o servidor Impala. Não
senha A senha que corresponde ao nome de usuário quando você usa UsernameAndPassword. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. Não
ativarSsl Especifica se as conexões com o servidor devem ser criptografadas usando TLS. O valor padrão é true. Não
AtivarValidaçãoDeCertificadoDoServidor Especifique se deseja habilitar a validação do certificado SSL do servidor ao se conectar. Sempre usar o Repositório confiável do Sistema. O valor padrão é true. Não
connectVia O runtime 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 usa o Integration Runtime padrão do Azure. Você pode usar o runtime de integração auto-hospedada e sua versão deve ser 5.55 ou superior. Não

Exemplo:

{
    "name": "ImpalaLinkedService",
    "properties": {
        "type": "Impala",
        "version": "2.0",
        "typeProperties": {
            "host" : "<host>",
            "port" : "<port>",
            "authenticationType" : "UsernameAndPassword",
            "username" : "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "enableSsl": true,
            "thriftTransportProtocol": "Binary",
            "enableServerCertificateValidation": true
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Versão 1.0

As propriedades a seguir têm suporte para o serviço vinculado do Impala ao aplicar a versão 1.0:

As propriedades a seguir têm suporte no serviço vinculado do Impala.

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como Impala. Sim
hospedar O endereço IP ou nome do host do servidor Impala (que é 192.168.222.160). Sim
porta A porta TCP usada pelo servidor Impala para ouvir conexões de cliente. O valor padrão é 21050. Não
tipoDeAutenticação O tipo de autenticação a ser usado.
Valores permitidos são: Anônimo, SASLUsername e UsernameAndPassword.
Sim
nome de usuário O nome de usuário usado para acessar o servidor Impala. O valor padrão é anônimo quando você usa SASLUsername. Não
senha A senha que corresponde ao nome de usuário quando você usa UsernameAndPassword. Marque este campo como um SecureString para armazená-lo com segurança ou referencie um segredo armazenado no Azure Key Vault. Não
ativarSsl Especifica se as conexões com o servidor devem ser criptografadas usando TLS. O valor padrão é false. Não
trustedCertPath O caminho completo do arquivo .pem que contém certificados AC confiáveis utilizados para verificar o servidor ao se conectar via TLS. Essa propriedade pode ser definida somente quando você usa o TLS em um runtime de integração auto-hospedada. O valor padrão é o arquivo de cacerts.pem instalado com o runtime de integração. Não
useSystemTrustStore Especifica se deve usar um certificado de autoridade de certificação do repositório de confiança de sistema ou de um arquivo PEM especificado. O valor padrão é false. Não
allowHostNameCNMismatch Especifica se o nome do certificado TLS/SSL emitido pela AC deve corresponder ao nome do host do servidor ao se conectar via TLS. O valor padrão é false. Não
allowSelfSignedServerCert Especifica se deve permitir os certificados autoassinados do servidor. O valor padrão é false. Não
connectVia O runtime 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 usa o Integration Runtime padrão do Azure. Não

Exemplo:

{
    "name": "ImpalaLinkedService",
    "properties": {
        "type": "Impala",
        "typeProperties": {
            "host" : "<host>",
            "port" : "<port>",
            "authenticationType" : "UsernameAndPassword",
            "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 das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre Conjuntos de Dados. Esta seção fornece uma lista das propriedades com suporte pelo conjunto de dados do Impala.

Para copiar dados do Impala, defina a propriedade type do conjunto de dados como ApacheImpalaObject. Há suporte para as seguintes propriedades:

Propriedade Descrição Obrigatório
tipo A propriedade type do conjunto de dados precisa ser definida como ImpalaObject Sim
esquema Nome do esquema. Não (se "query" na fonte da atividade for especificada)
tabela Nome da tabela. Não (se "query" na fonte da atividade for especificada)
nome da tabela Nome da tabela com esquema. Essa propriedade é compatível com versões anteriores. Use schema e table para uma nova carga de trabalho. Não (se "query" na fonte da atividade for especificada)

Exemplo

{
    "name": "ImpalaDataset",
    "properties": {
        "type": "ImpalaObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Impala linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriedades da atividade de cópia

Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines. Esta seção fornece uma lista das propriedades com suporte pelo tipo de fonte do Impala.

Impala como um tipo de fonte

Para copiar dados do Impala, defina o tipo de fonte na atividade de cópia como ImpalaSource. As propriedades a seguir têm suporte na seção source da atividade de cópia.

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

Exemplo:

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

Mapeamento de tipo de dados para Impala

Quando você copia dados de e para o Impala, os seguintes mapeamentos de tipo de dados provisórios são usados dentro do serviço. Para saber mais sobre como a atividade Copy mapeia o tipo de dados e esquema de origem para o coletor, consulte Mapeamentos de tipo de dados e esquema.

Tipo de dados do Impala 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)
ARRAY fio fio
bigint Int64 Int64
BOOLEAN booleano booleano
CHAR fio fio
DATE Data e Hora Data e Hora
DECIMAL Decimal Decimal
DOUBLE Double Double
FLOAT Solteiro Solteiro
INT Int32 Int32
Mapa fio fio
SMALLINT Int16 Int16
STRING fio fio
ESTRUTURA fio fio
TIMESTAMP DateTimeOffset Data e Hora
TINYINT SByte Int16
VARCHAR fio fio

Pesquisa de propriedades de atividade

Para saber detalhes sobre as propriedades, verifique Pesquisar atividade.

Ciclo de vida e atualização do conector impala

A tabela a seguir mostra o estágio de lançamento e os logs de alteração para versões diferentes do conector Impala:

Versão Fase de liberação Log de alterações
Versão 1.0 Removed Não aplicável.
Versão 2.0 Versão GA disponível • A versão do runtime de integração auto-hospedada deve ser 5.55 ou superior.

• O valor enableSSL padrão é true. enableServerCertificateValidation é compatível.
trustedCertPath useSystemTrustStore, allowHostNameCNMismatche allowSelfSignedServerCert não há suporte.

• TIMESTAMP é lido como tipo de dados DateTimeOffset.

• TINYINT é lido como tipo de dado SByte.

• Não há suporte para o tipo de autenticação SASLUsername.

Atualizar o conector impala 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 referindo-se às propriedades do serviço vinculado versão 2.0.

  2. O mapeamento de tipo de dados para o serviço vinculado Impala versão 2.0 é diferente do da versão 1.0. Para saber mais sobre o mapeamento de tipo de dados mais recente, consulte Mapeamento de tipo de dados para Impala.

  3. Aplique um runtime de integração auto-hospedada com a versão 5.55 ou superior.

Para obter uma lista dos armazenamentos de dados com suporte como coletores e fontes da atividade de cópia, confira os Armazenamentos de dados com suporte.