Avro File Writer
Saiba mais sobre o conector Avro File Writer e como utilizá-lo na Digibee Integration Platform.
O Avro File Writer é um conector exclusivo do Pipeline Engine v2.
O conector Avro File Writer permite que você escreva arquivos Avro com base em schemas Avro.
Avro é um framework para serialização de dados utilizado no ecossistema Hadoop Big Data, conhecido por seu suporte à evolução de schema e compactação. Para mais informações, veja o site oficial.
Parâmetros
Dê uma olhada nos parâmetros de configuração do conector. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Aba General
File Name (DB)
Nome do arquivo Avro a ser escrito.
file.avro
String
Data (DB)
Dados a serem escritos no arquivo Avro.
Aceita apenas objetos e arrays de objetos JSON.
{{ message.data }}
String
Schema (DB)
O schema Avro a ser utilizado na escrita do arquivo.
Aceita apenas schemas com o tipo RECORD
como tipo de dado raiz.
N/A
String
Data From File
Se o parâmetro estiver ativado, os dados a serem escritos no arquivo Avro devem ser informados através de outros arquivos Avro e não via payload JSON.
False
Booleano
Files
Define os arquivos Avro contendo os dados a serem escritos no arquivo Avro final.
Essa opção só está disponível quando Data From File estiver ativado.
N/A
Opções de Data From File
File Name (DB)
Nome do arquivo Avro contendo os dados.
Essa opção só está disponível quando Data From File for habilitado.
N/A
String
Infer Schema From File
Se o parâmetro estiver ativado, o schema Avro será inferido do primeiro arquivo Avro definido no parâmetro Files.
False
Booleano
File Exists Policy
Define qual comportamento a ser seguido quando um arquivo de mesmo nome (File Name) já existir na execução vigente do pipeline.
Você pode escolher as seguintes opções: Append (o arquivo existente é complementado com os dados), Overwrite (sobrescreve o arquivo existente) ou Fail (a execução é interrompida com um erro se o arquivo já existir).
Append
String
Fail On Error
Se a opção estiver ativada, a execução do pipeline com erro será interrompida. Do contrário, a execução do pipeline continua, mas o resultado irá mostrar um valor falso para a propriedade "success"
.
False
Booleano
Aba Advanced
Compression Codec
O codec de compressão a ser utilizado ao comprimir o arquivo Avro.
Opções:
Uncompressed
DEFLATE
BZIP2
Uncompressed
String
Compression Level
O nível de compressão a ser aplicado ao comprimir o arquivo Avro. Opções: 1-9
Essa opção só está disponível quando Compression Codec for configurado como DEFLATE.
1
Inteiro
Aba Documentação
Documentation
Seção para documentar qualquer informação necessária sobre a configuração do conector e regras de negócio.
N/A
String
Note que podem ocorrer diferenças de performance ao escrever arquivos Avro comprimidos e não comprimidos. Como a compressão exige um maior consumo de memória e processamento, é importante validar os limites que o pipeline irá suportar ao aplicá-la.
Exemplos de uso
Arquivo a partir de um objeto JSON
Escrevendo um arquivo Avro a partir de um objeto JSON como payload:
File Name: file.avro
Data: {{ message.data }}
Schema: {{ message.schema }}
File Exists Policy: Overwrite
Compression Codec: Uncompressed
Dados de exemplo:
Schema de exemplo:
Saída:
Arquivo a partir de um array de objetos JSON
Escrevendo um arquivo Avro a partir de um array de objetos JSON como payload:
File Name: file.avro
Data: {{ message.data }}
Schema: {{ message.schema }}
File Exists Policy: Overwrite
Dados de exemplo:
Schema de exemplo:
Saída:
Arquivo Avro não comprimido
Escrevendo um arquivo Avro não comprimido:
File Name: file.avro
Data: {{ message.data }}
Schema: {{ message.schema }}
File Exists Policy: Overwrite
Compression Codec: Uncompressed
Saída:
Arquivo Avro comprimido
Escrevendo um arquivo Avro comprimido:
File Name: file.avro
Data: {{ message.data }}
Schema: {{ message.schema }}
File Exists Policy: Overwrite
Compression Codec: BZIP2
Saída:
File Exists Policy como Fail
Escrevendo um arquivo Avro com o mesmo nome de um arquivo já existente no diretório de arquivos do pipeline:
File Name: file.avro
Data: {{ message.data }}
Schema: {{ message.schema }}
File Exists Policy: Fail
Saída:
Escrevendo arquivo a partir de outro arquivo Avro - schema explícito
Escrevendo um arquivo Avro com dados vindo de outro arquivo Avro ao invés de um payload JSON, usando uma configuração de schema explícita:
File Name: file.avro
Data From File: ativado
Files:
File Name: {{ message.existingAvroFile }}
Schema: {{ message.schema }}
File Exists Policy: Overwrite
Saída:
Escrevendo arquivo a partir de outro arquivo Avro - inferindo schema
Escrevendo um arquivo Avro com dados vindo de outro arquivo Avro ao invés de um payload JSON, inferindo o schema através do arquivo:
File Name: file.avro
Data From File: ativado
Files:
File Name: {{ message.existingAvroFile }}
Infer Schema: ativado
File Exists Policy: Overwrite
Saída:
Atualizado