Partilhar via


Copiar dados do Presto 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 Presto. 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 Presto versão 1.0 está em fase de remoção. Recomenda-se atualizar o conector Presto da versão 1.0 para 2.0.

Capacidades suportadas

Este conector Presto é compatível com 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 lojas de dados que são suportadas como fontes/destinos pela atividade de cópia, consulte a tabela Lojas de dados suportadas.

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

Começar

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

Use as etapas a seguir para criar um serviço vinculado ao Presto 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 por Presto e selecione o conector Presto.

    Captura de ecrã do conector Presto.

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

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

Propriedades do serviço vinculado

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

Versão 2.0

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

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como: Presto Sim
versão A versão que especificares. O valor é 2.0. Sim
alojar O endereço IP ou nome de host do servidor Presto. (por exemplo, 192.168.222.160) Sim
catálogo O contexto do catálogo para todas as requisições ao servidor. Sim
porta A porta TCP que o servidor Presto usa para escutar conexões de cliente. O valor padrão é 8443. Não
tipo de autenticação O mecanismo de autenticação usado para se conectar ao servidor Presto.
Os valores permitidos são: Anônimo, LDAP
Sim
nome de utilizador O nome de usuário usado para se conectar ao servidor Presto. Não
palavra-passe A senha correspondente ao nome de usuário. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. Não
habilitarSsl Especifica se as conexões com o servidor são criptografadas usando TLS. O valor padrão é true. Não
ativarValidaçãoDeCertificadoDoServidor Especifique se deseja habilitar a validação do certificado SSL do servidor quando você se conectar.
Use sempre o Repositório de Confiança do Sistema. O valor padrão é true.
Não
timeZoneID O fuso horário local usado pela conexão. Os valores válidos para esta opção são especificados no Banco de Dados de Fuso Horário IANA. O valor padrão é o fuso horário do sistema Presto. Não

Exemplo:

{
    "name": "PrestoLinkedService",
    "properties": {
        "type": "Presto",
        "version" : "2.0",
        "typeProperties": {
            "host" : "<host>",
            "catalog" : "<catalog>",
            "port" : 8443,
            "authenticationType" : "LDAP",
            "username" : "<username>",
            "password": {
                 "type": "SecureString",
                 "value": "<password>"
            },
            "enableSsl": true,
            "enableServerCertificateValidation": true,
            "timeZoneID" : ""
        }
    }
}

Versão 1.0

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

Propriedade Descrição Obrigatório
tipo A propriedade type deve ser definida como: Presto Sim
alojar O endereço IP ou nome de host do servidor Presto. (por exemplo, 192.168.222.160) Sim
versão do servidor A versão do servidor Presto. (por exemplo, 0,148-t) Sim
catálogo O contexto do catálogo para todas as requisições ao servidor. Sim
porta A porta TCP que o servidor Presto usa para escutar conexões de cliente. O valor padrão é 8080. Não
tipo de autenticação O mecanismo de autenticação usado para se conectar ao servidor Presto.
Os valores permitidos são: Anônimo, LDAP
Sim
nome de utilizador O nome de usuário usado para se conectar ao servidor Presto. Não
palavra-passe A senha correspondente ao nome de usuário. Marque este campo como um SecureString para armazená-lo com segurança ou faça referência a um segredo armazenado no Cofre de Chaves do Azure. Não
habilitarSsl Especifica se as conexões com o servidor são criptografadas usando TLS. O valor predefinido é false. Não
trustedCertPath O caminho completo do arquivo .pem contendo certificados de CA confiáveis para verificar o servidor ao se conectar por TLS. Essa propriedade só pode ser definida ao usar TLS em IR auto-hospedado. O valor padrão é o arquivo cacerts.pem instalado com o IR. Não
utilizarORepositórioDeConfiançaDoSistema Especifica se deve ser usado um certificado de autoridade (CA) do armazenamento de confiança do sistema ou de um arquivo PEM especificado. O valor predefinido é false. Não
permitirDesajusteNomeAnfitriãoCN Especifica se um nome de certificado TLS/SSL emitido pela CA deve corresponder ao nome do host do servidor ao se conectar por TLS. O valor predefinido é false. Não
permitirCertificadoDeServidorAssinadoPorSiMesmo Especifica se os certificados autoassinados do servidor devem ser permitidos. O valor predefinido é false. Não
timeZoneID O fuso horário local usado pela conexão. Os valores válidos para esta opção são especificados no Banco de Dados de Fuso Horário IANA. O valor padrão é o fuso horário do Azure Data Factory. Não

Exemplo:

{
    "name": "PrestoLinkedService",
    "properties": {
        "type": "Presto",
        "typeProperties": {
            "host" : "<host>",
            "serverVersion" : "0.148-t",
            "catalog" : "<catalog>",
            "port" : "<port>",
            "authenticationType" : "LDAP",
            "username" : "<username>",
            "password": {
                 "type": "SecureString",
                 "value": "<password>"
            },
            "timeZoneID" : "Europe/Berlin"
        }
    }
}

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

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

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

Exemplo

{
    "name": "PrestoDataset",
    "properties": {
        "type": "PrestoObject",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Presto linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriedades da atividade de copiar

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

Presto como fonte

Para copiar dados do Presto, defina o tipo de origem na atividade de cópia como PrestoSource. As seguintes propriedades são suportadas na secçã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: PrestoSource Sim
consulta Utilize uma consulta SQL personalizada para ler dados. Por exemplo: "SELECT * FROM MyTable". Não (se "tableName" no conjunto de dados for especificado)

Exemplo:

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

Mapeamento de tipo de dados para Presto

Quando você copia dados do Presto, os mapeamentos a seguir se aplicam dos tipos de dados do Presto, 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 Presto 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)
MATRIZ Cordão Cordão
BIGINT Int64 Int64
BOOLEANO booleano booleano
CHAR Cordão Cordão
DATA Data Data e hora
DECIMAL (Precisão < 28) Decimal Decimal
DECIMAL (Precisão >= 28) Decimal Cordão
DUPLO Duplo Duplo
INTEIRO Int32 Int32
INTERVALO_DIA_PARA_SEGUNDO Período de tempo Não suportado.
INTERVALO_ANO_PARA_MÊS Cordão Não suportado.
Endereço IP Cordão Não suportado.
JSON Cordão Cordão
MAPA Cordão Cordão
O Real Solteiro Solteiro
LINHA Cordão Cordão
SMALLINT Int16 Int16
TEMPO Tempo / Hora Período de tempo
TEMPO_COM_FUSO_HORÁRIO Cordão Cordão
DATA E HORA Data e hora Data e hora
TIMESTAMPWITHTIMEZONE Datetimeoffset Não suportado.
TINYINT SByte Int16
Identificador Único Universal (UUID) Guia Não suportado.
VARBINARY Byte[] Byte[]
VARCHAR Cordão Cordão

Propriedades da atividade de consulta

Para obter detalhes sobre as propriedades, consulte Lookup activity.

Atualizar o conector Presto

Aqui estão as etapas que ajudam a atualizar o conector Presto:

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

Diferenças entre o conector Presto versão 2.0 e versão 1.0

O conector Presto versão 2.0 oferece novas funcionalidades e é compatível com a maioria dos recursos da versão 1.0. A tabela a seguir 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
serverVersion não é suportado. serverVersion está suportado.
O valor padrão de port é 8443. O valor padrão de port é 8080.
O valor padrão de enableSSL é true.

enableServerCertificateValidation está suportado.

trustedCertPath, useSystemTrustStoree allowHostNameCNMismatchallowSelfSignedServerCert não são suportados.
O valor padrão de enableSSL é false.

enableServerCertificateValidation não é suportado.

trustedCertPath, useSystemTrustStoree allowHostNameCNMismatchallowSelfSignedServerCert é suportado.
O valor padrão de timeZoneID é o fuso horário do sistema Presto. O valor padrão de timeZoneID é o fuso horário do Azure Data Factory.
Os seguintes mapeamentos são utilizados para traduzir tipos de dados Presto para tipos de dados de serviço intermediário.

DATA -> Data
DECIMAL (Precisão >= 28) -> Decimal
INTERVALO_DIA_A_SEGUNDO -> Intervalo de Tempo
INTERVAL_YEAR_TO_MONTH -> Corda
IPADDRESS -> Cadeia de caracteres
TEMPO -> Tempo
TIMESTAMPWITHTIMEZONE -> Deslocamento de Data e Hora
TINYINT -> SByte
UUID (Identificador Único Universal) -> Guid (Identificador Global Único)
Os seguintes mapeamentos são utilizados para traduzir tipos de dados Presto para tipos de dados de serviço intermediário.

DATE -> Data/hora
DECIMAL (Precisão >= 28) -> String
TEMPO -> TimeSpan
TINYINT -> Int16
Outros mapeamentos suportados pela versão 2.0 listados à esquerda não são suportados pela versão 1.0.

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