Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como usar a atividade de cópia em um pipeline para copiar dados de e para o Azure Databricks.
Pré-requisitos
Para usar esse conector do Azure Databricks, você precisa configurar um cluster no Azure Databricks.
- Para copiar dados para o Azure Databricks, a atividade Copy invoca o cluster do Azure Databricks para ler dados de um Armazenamento do Azure, que é sua origem original ou uma área de preparo para onde o serviço grava primeiro os dados de origem por meio de cópia preparada interna. Saiba mais no Azure Databricks como destino.
- Da mesma forma, para copiar dados do Azure Databricks, a atividade de cópia invoca o cluster do Azure Databricks para gravar dados em um Armazenamento do Azure, que pode ser seu destino original ou uma área de preparo de onde o serviço continua a gravar dados até o destino final, utilizando o processo de cópia escalonada embutido. Saiba mais no Azure Databricks como fonte.
O cluster do Databricks precisa ter acesso ao Blob do Azure ou à conta do Azure Data Lake Storage Gen2, tanto o contêiner de armazenamento/sistema de arquivos usado para origem/destino/preparo quanto o contêiner/sistema de arquivos em que você deseja gravar as tabelas do Azure Databricks.
Para usar o Azure Data Lake Storage Gen2, você pode configurar uma entidade de serviço no cluster do Databricks como parte da configuração do Apache Spark. Siga as etapas em Acessar diretamente com a entidade de serviço.
Para usar o Armazenamento de Blobs do Azure, você pode configurar uma chave de acesso da conta de armazenamento ou token SAS no cluster do Databricks como parte da configuração do Apache Spark. Siga as etapas em Acessar o Armazenamento de Blobs do Azure usando a API do RDD.
Durante a execução da atividade Copy, se o cluster configurado for encerrado, o serviço o iniciará automaticamente. Se você cria um pipeline autor usando a interface do usuário de criação, será preciso ter um cluster ativo para operações como visualização de dados, pois o serviço não iniciará o cluster em seu nome.
Especificar a configuração de cluster
Na lista suspensa Modo de Cluster, selecione Standard.
Na lista suspensa Versão do Databricks Runtime, selecione uma versão do Databricks Runtime.
Ative a Otimização Automática adicionando as seguintes propriedades à sua Configuração do Spark:
spark.databricks.delta.optimizeWrite.enabled true spark.databricks.delta.autoCompact.enabled trueConfigure o cluster de acordo com as suas necessidades de integração e de dimensionamento.
Para obter detalhes de configuração do cluster, confira Configurar clusters.
Configuração com suporte
Para a configuração de cada guia em atividade Copy, vá para as seções a seguir, respectivamente.
Geral
Para acessar a configuração da aba Geral, vá para Geral.
Fonte
As propriedades a seguir têm suporte para o Azure Databricks na guia Origem de uma atividade de cópia.
As seguintes propriedades são necessárias:
Conexão: selecione uma conexão do Azure Databricks na lista de conexões. Se nenhuma conexão existir, crie uma nova conexão do Azure Databricks.
Usar consulta: Selecione Tabela ou Consulta.
Se você selecionar Tabela:
Catálogo: um catálogo serve como o contêiner de nível mais alto dentro da estrutura do Catálogo do Unity, ele permite que você organize seus dados em bancos de dados e tabelas.
Banco de dados: selecione seu banco de dados na lista suspensa ou digite o banco de dados.
Tabela: especifique o nome da tabela para ler dados. Selecione a tabela na lista suspensa ou digite o nome da tabela.
Se você selecionar Consulta:
-
Consulta: especifique a consulta SQL para ler dados. Para o controle de viagem no tempo, siga o padrão abaixo:
SELECT * FROM events TIMESTAMP AS OF timestamp_expressionSELECT * FROM events VERSION AS OF version
-
Consulta: especifique a consulta SQL para ler dados. Para o controle de viagem no tempo, siga o padrão abaixo:
Em Avançado, você pode especificar os seguintes campos:
Formato de data: formatar tipo de data para cadeia de caracteres com um formato de data. Formatos de data personalizados seguem os formatos no padrão datetime. Se esse campo não for especificado, o valor padrão será
yyyy-MM-dd.Formato de carimbo de data/hora: formatar o tipo de carimbo de data/hora em uma string com um formato específico. Formatos de data personalizados seguem os formatos no padrão datetime. Se esse campo não for especificado, o valor padrão será
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX].
Cópia direta do Azure Databricks
Se o armazenamento e o formato de dados de destino atenderem aos critérios descritos nesta seção, você poderá usar a atividade Copiar para copiar diretamente do Azure Databricks para o destino. O serviço verificará as configurações e falhará na execução de atividade Copy se os seguintes critérios não forem atendidos:
A conexão de destino é o Armazenamento de Blobs do Azure ou o Azure Data Lake Storage Gen2. A credencial da conta deve ser pré-configurada na configuração do cluster Azure Databricks. Saiba mais em Pré-requisitos.
O formato de dados de destino é Parquet, DelimitedText ou Avro com as seguintes configurações e aponta para uma pasta em vez de arquivo.
- Para formato Parquet, o codec de compactação é None, snappy ou gzip.
- Para o formato DelimitedText :
-
rowDelimiteré qualquer caractere único. -
compressionpode ser None, bzip2, gzip. -
encodingNameUTF-7 não é compatível.
-
- Para formato Avro, o codec de compactação é None, deflate ou snappy.
Se estiver copiando dados para DelimitedText, no destino da atividade de cópia,
fileExtensionprecisará ser ".csv".No mapeamento da atividade Copy, a conversão de tipo não está habilitada.
Cópia em etapas do Azure Databricks
Quando o formato ou armazenamento de dados do coletor não corresponde aos critérios de cópia direta, conforme mencionado na última seção, habilite a cópia preparada interna usando uma instância provisória do Armazenamento do Azure. O recurso de cópia em etapas também proporciona uma melhor eficiência. O serviço exporta dados do Azure Databricks para o armazenamento de preparo, copia os dados para o coletor e, por fim, limpa seus dados temporários do armazenamento de preparo.
Para usar esse recurso, crie um Armazenamento de Blobs do Azure ou Azure Data Lake Storage Gen2 que se refere à conta de armazenamento como um armazenamento intermediário. Em seguida, especifique as propriedades enableStaging e stagingSettings na atividade Copy.
Observação
A credencial da conta de armazenamento de preparo deve ser pré-configurada na configuração do cluster do Azure Databricks. Saiba mais em Pré-requisitos.
Destino
As propriedades a seguir são suportadas para o Azure Databricks na guia Destino de uma atividade de cópia.
As seguintes propriedades são necessárias:
Conexão: selecione uma conexão do Azure Databricks na lista de conexões. Se nenhuma conexão existir, crie uma nova conexão do Azure Databricks.
Catálogo: um catálogo serve como o contêiner de nível mais alto dentro da estrutura do Catálogo do Unity, ele permite que você organize seus dados em bancos de dados e tabelas.
Banco de dados: selecione seu banco de dados na lista suspensa ou digite o banco de dados.
Tabela: Especifique o nome da tabela para gravar dados. Selecione a tabela na lista suspensa ou digite o nome da tabela.
Em Avançado, você pode especificar os seguintes campos:
Script de pré-cópia: especifique um script para a Atividade de Cópia a ser executada antes de gravar dados na tabela de destino em cada execução. Você pode usar essa propriedade para limpar os dados pré-carregados.
Formato de carimbo de data/hora: formatar o tipo de carimbo de data/hora em uma string com um formato específico. Formatos de data personalizados seguem os formatos no padrão datetime. Se esse campo não for especificado, o valor padrão será
yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX].
Cópia direta para o Azure Databricks
Se o armazenamento e o formato de dados de origem atenderem aos critérios descritos nesta seção, você poderá usar a atividade Copiar para copiar diretamente da origem para o Azure Databricks. O serviço verificará as configurações e falhará na execução de atividade Copy se os seguintes critérios não forem atendidos:
A conexão de origem é o Armazenamento de Blobs do Azure ou o Azure Data Lake Storage Gen2. A credencial da conta deve ser pré-configurada na configuração do cluster Azure Databricks. Saiba mais em Pré-requisitos.
O formato de dados de origem é parquet, DelimitedText ou Avro com as seguintes configurações e aponta para uma pasta em vez de arquivo.
- Para formato Parquet, o codec de compactação é None, snappy ou gzip.
- Para o formato DelimitedText :
-
rowDelimiteré padrão ou qualquer caractere único. -
compressionpode ser None, bzip2, gzip. -
encodingNameUTF-7 não é compatível.
-
- Para formato Avro, o codec de compactação é None, deflate ou snappy.
Na origem da atividade Copy:
-
wildcardFileNamecontém somente o curinga*, mas não?;wildcardFolderNamenão é especificado. -
prefix,modifiedDateTimeStart,modifiedDateTimeEndeenablePartitionDiscoverynão foram especificados.
-
No mapeamento da atividade Copy, a conversão de tipo não está habilitada.
Cópia em etapas para o Azure Databricks
Quando o formato ou armazenamento de dados de origem não corresponde aos critérios de cópia direta, conforme mencionado na última seção, habilite a cópia preparada interna usando uma instância provisória do Armazenamento do Azure. O recurso de cópia em etapas também proporciona uma melhor eficiência. O serviço converte automaticamente os dados para atender aos requisitos de formato de dados em um armazenamento temporário, antes de carregar os dados no Azure Databricks a partir desse ponto. Por fim, ele limpa os dados temporários do armazenamento.
Para usar esse recurso, crie um Armazenamento de Blobs do Azure ou Azure Data Lake Storage Gen2 que se refere à conta de armazenamento como um armazenamento intermediário. Em seguida, especifique as propriedades enableStaging e stagingSettings na atividade Copy.
Observação
A credencial da conta de armazenamento de preparo deve ser pré-configurada na configuração do cluster do Azure Databricks. Saiba mais em Pré-requisitos.
Mapeamento
Para a configuração da guia Mapeamento, acesse Configurar seus mapeamentos na guia Mapeamento.
Configurações
Para configuração da guia Configurações, acesse Definir suas outras configurações na guia configurações.
Sumário da tabela
As tabelas a seguir contêm mais informações sobre uma atividade de cópia em um Azure Databricks.
Informações de origem
| Nome | Descrição | Valor | Obrigatório | Propriedade do script JSON |
|---|---|---|---|---|
| Conexão | Sua conexão com o repositório de dados de origem. | < sua conexão do Azure Databricks > | Sim | conexão |
| Usar consulta | A maneira de ler dados. Aplique Tabela para fazer a leitura dos dados da tabela especificada ou aplicar Consulta para fazer a leitura dos dados usando consultas. | • Tabela • Consulta |
Não | / |
| Para Tabela | ||||
| Catálogo | Um catálogo serve como o contêiner de nível mais alto dentro da estrutura do Catálogo do Unity, ele permite que você organize seus dados em bancos de dados e tabelas. | < seu catálogo > | Não (escolha o catálogo padrão se for nulo) | catálogo |
| Banco de dados | Seu banco de dados que você usa como origem. | < seu banco de dados > | Não | banco de dados |
| Tabela | Sua tabela de dados de origem para leitura de dados. | < seu nome de tabela > | Não | tabela |
| Para consulta | ||||
| Consulta | Especifique a consulta SQL para ler dados. Para o controle de viagem no tempo, siga o padrão abaixo: - SELECT * FROM events TIMESTAMP AS OF timestamp_expression- SELECT * FROM events VERSION AS OF version |
< sua consulta > | Não | consulta |
| Formato de Data | Formatar cadeia de caracteres para tipo date com um formato de data. Formatos de data personalizados seguem os formatos no padrão datetime. Se esse campo não for especificado, o valor padrão será yyyy-MM-dd. |
< seu formato de data > | Não | formato de data |
| Formato de marca temporal | Formatar cadeia de caracteres para tipo timestamp com um formato de carimbo de data/hora. Formatos de data personalizados seguem os formatos no padrão datetime. Se esse campo não for especificado, o valor padrão será yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. |
< seu formato de carimbo de data/hora > | Não | timestampFormat |
Informações de destino
| Nome | Descrição | Valor | Obrigatório | Propriedade do script JSON |
|---|---|---|---|---|
| Conexão | Sua ligação com o banco de dados de destino. | < sua conexão do Azure Databricks > | Sim | conexão |
| Catálogo | Um catálogo serve como o contêiner de nível mais alto dentro da estrutura do Catálogo do Unity, ele permite que você organize seus dados em bancos de dados e tabelas. | < seu catálogo > | Não (escolha o catálogo padrão se for nulo) | catálogo |
| Banco de dados | Seu banco de dados que você utiliza como destino. | < seu banco de dados > | Sim | banco de dados |
| Tabela | Sua tabela de dados de destino para gravar dados. | < seu nome de tabela > | Sim | tabela |
| Script pré-cópia | Especifique um script para a Atividade de Cópia a ser executada antes de gravar dados na tabela de destino em cada execução. Você pode usar essa propriedade para limpar os dados pré-carregados. | < seu script de pré-cópia> | Não | preCopyScript |
| Formato de marca temporal | Formatar cadeia de caracteres para tipo timestamp com um formato de carimbo de data/hora. Formatos de data personalizados seguem os formatos no padrão datetime. Se esse campo não for especificado, o valor padrão será yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. |
< seu formato de carimbo de data/hora > | Não | timestampFormat |