Formato Avro em Azure Data Factory e Synapse Analytics

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Siga este artigo quando quiser analisar ficheiros Avro ou escrever os dados no formato Avro.

O formato Avro é suportado para os seguintes conectores: Amazon S3, Amazon S3 Compatível Armazenamento, Azure Blob, Azure Data Lake Armazenamento Gen1, Azure Data Lake Armazenamento Gen2, Azure Files, File System, FTP, Google Cloud Armazenamento, HDFS, HTTP, Oracle Cloud Armazenamento e SFTP.

Dataset properties (Propriedades do conjunto de dados)

Para obter uma lista completa de secções e propriedades disponíveis para definir conjuntos de dados, consulte o artigo Datasets. Esta secção fornece uma lista de propriedades suportadas pelo conjunto de dados Avro.

Propriedade Descrição Obrigatório
tipo A propriedade do tipo do conjunto de dados deve ser definida para Avro. Yes
localização Definições de localização do(s) ficheiros. Cada conector baseado em ficheiros tem o seu próprio tipo de localização e propriedades suportadas em location . Consulte os detalhes na secção de propriedades do conector -> Dataset. Yes
avroCompressionCodec O codec de compressão para usar ao escrever para ficheiros Avro. Ao ler os ficheiros Avro, o serviço determina automaticamente o código de compressão com base nos metadados do ficheiro.
Os tipos suportados são "nenhum" (padrão), "esvaziar", "snappy". Nota atualmente A atividade copy não suporta Snappy quando lê/escreve ficheiros Avro.
No

Nota

O espaço branco no nome da coluna não é suportado para ficheiros Avro.

Abaixo está um exemplo do conjunto de dados da Avro no Armazenamento da Azure Blob:

{
    "name": "AvroDataset",
    "properties": {
        "type": "Avro",
        "linkedServiceName": {
            "referenceName": "<Azure Blob Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "container": "containername",
                "folderPath": "folder/subfolder",
            },
            "avroCompressionCodec": "snappy"
        }
    }
}

Propriedades da atividade Copy

Para obter uma lista completa de secções e propriedades disponíveis para definir atividades, consulte o artigo Pipelines. Esta secção fornece uma lista de propriedades suportadas pela fonte e pia avro.

Avro como fonte

As seguintes propriedades são suportadas na secçã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 AvroSource. Yes
lojaSs Um grupo de propriedades sobre como ler dados de uma loja de dados. Cada conector baseado em ficheiros tem as suas próprias definições de leitura suportadas em storeSettings . Consulte os detalhes na secção de propriedades de atividade do conector -> Copy. No

Avro como pia

As seguintes propriedades são suportadas na secção de * lavatório * de atividade de cópia.

Propriedade Descrição Obrigatório
tipo A propriedade do tipo da fonte de atividade de cópia deve ser definida como AvroSink. Yes
formatoStas Um grupo de propriedades. Consulte a tabela de definições de escrita avro abaixo. No
lojaSs Um grupo de propriedades sobre como escrever dados para uma loja de dados. Cada conector baseado em ficheiros tem as suas próprias definições de escrita suportadas em storeSettings . Consulte os detalhes na secção de propriedades de atividade do conector -> Copy. No

Configurações de escrita da Avro suportadas em formatSettings :

Propriedade Descrição Obrigatório
tipo O tipo de formatoStas devem ser definidas para AvroWriteSettings. Yes
maxRowsPerFile Ao escrever dados numa pasta, pode optar por escrever em vários ficheiros e especificar as linhas máximas por ficheiro. No
fileNamePrefix Aplicável quando maxRowsPerFile é configurado.
Especifique o prefixo do nome do ficheiro ao escrever dados em vários ficheiros, resultando neste padrão: <fileNamePrefix>_00000.<fileExtension> . Se não for especificado, o prefixo do nome do ficheiro será gerado automaticamente. Esta propriedade não se aplica quando a fonte é loja baseada em ficheiros ou loja de dados ativada por opção de partição.
No

Mapeamento de propriedades de fluxo de dados

No mapeamento dos fluxos de dados, pode ler e escrever para o formato avro nas seguintes lojas de dados: Azure Blob Armazenamento, Azure Data Lake Armazenamento Gen1, e Azure Data Lake Armazenamento Gen2.

Propriedades de origem

A tabela abaixo lista as propriedades suportadas por uma fonte avro. Pode editar estas propriedades no separador Opções Fonte.

Nome Descrição Obrigatório Valores permitidos Propriedade de script de fluxo de dados
Caminhos de wild card Todos os ficheiros correspondentes ao caminho wildcard serão processados. Substitui a pasta e o caminho do ficheiro definido no conjunto de dados. não Corda[] wildcardPaths
Caminho da raiz da partição Para os dados de ficheiros que são divididos, pode introduzir um caminho de raiz de partição para ler pastas partidas como colunas não String partitionRootPath
Lista de ficheiros Se a sua fonte está a apontar para um ficheiro de texto que lista ficheiros para processar não true ou false fileList
Coluna para armazenar nome de ficheiro Criar uma nova coluna com o nome e caminho do ficheiro de origem não String rowUrlColumn
Após a conclusão Elimine ou mova os ficheiros após o processamento. O caminho do arquivo começa a partir da raiz do recipiente não Excluir: true ou false
Mover-se: ['<from>', '<to>']
purgeFiles
moveFiles
Filtrar por última modificação Opte por filtrar ficheiros com base na última alteração que foram alterados não CarimboDeDataEHora modificado Depois
modificadoSForo antes
Não permita que não encontrem ficheiros Se for verdade, um erro não é jogado se nenhum ficheiro for encontrado não true ou false ignoreNoFilesFound

Propriedades de pia

A tabela abaixo lista as propriedades suportadas por um lavatório avro. Pode editar estas propriedades no separador Definições.

Nome Descrição Obrigatório Valores permitidos Propriedade de script de fluxo de dados
Limpe a pasta Se a pasta de destino for apurada antes de escrever não true ou false truncato
Opção de nome de ficheiro O formato de nomeação dos dados escritos. Por predefinição, um ficheiro por partição em formato part-#####-tid-<guid> não Padrão: Corda
Por partição: String[]
Como dados na coluna: String
Saída para um único ficheiro: ['<fileName>']
filePattern
partitionFileNames
rowUrlColumn
partitionFileNames
Citar tudo Incluir todos os valores em cotações não true ou false citaçãoTo

Suporte ao tipo de dados

Atividade Copiar

Os tipos de dados complexos de Avro não são suportados (registos, enums, matrizes, mapas, sindicatos e fixos) na Copy Activity.

Fluxos de dados

Ao trabalhar com ficheiros Avro em fluxos de dados, pode ler e escrever tipos de dados complexos, mas certifique-se de limpar o esquema físico do conjunto de dados primeiro. Nos fluxos de dados, pode definir a sua projeção lógica e colunas derivantes que são estruturas complexas, em seguida, mapear automaticamente esses campos para um ficheiro Avro.

Passos seguintes