Parquet File Writer

Saiba mais sobre o conector Parquet File Writer e saiba como utilizá-lo na Digibee Integration Platform.

O Parquet File Writer é um conector exclusivo do Pipeline Engine v2.

O conector Parquet File Writer permite que você escreva arquivos Parquet com base em arquivos Avro.

Parquet é um formato de arquivo em coluna projetado para armazenamento e recuperação de dados eficientes. Você pode obter mais informações no 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

Aba Advanced

Aba Documentation

Informações importantes

O conector Parquet File Writer só pode gerar arquivos Parquet com base em arquivos Avro. Não é possível criá-los diretamente a partir de um payload JSON.

Apesar dessa limitação, a Digibee Integration Platform oferece uma maneira de gerar arquivos Avro por meio do conector Avro File Writer, além do fato de que o conector Parquet File Writer pode lidar com arquivos Avro gerados por outras fontes externas à plataforma.

Ao escrever arquivos Parquet através do conector Parquet File Writer, arquivos Avro contendo os tipos de dados BINARY e FIXED são ambos tratados como dados binários. Ao ler o arquivo gerado através do conector Parquet File Reader, os dados são apresentados no formato base64.

Você também deve observar que existem diferenças de performance ao escrever arquivos Parquet comprimidos e não comprimidos. Uma vez que 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 Parquet não comprimido

Escrevendo um arquivo Parquet não comprimido com base em um arquivo Avro:

  • Parquet File Name: file.parquet

  • Avro File Name: file.avro

  • File Exists Policy: Overwrite

  • Compression Codec: Uncompressed

Exemplo de conteúdo de um arquivo Avro no formato JSON:

{
  "name": "Aquiles",
  "phoneNumbers": [
    "11 99999-9999",
    "11 93333-3333"
  ],
  "active": true,
  "address": "St. Example",
  "score": 71.3,
  "details": "Some details"
}

Saída:

{
  "success": true,
  "fileName": "file.parquet"
}

Arquivo Parquet comprimido

Escrevendo um arquivo Parquet comprimido com base em um arquivo Avro:

  • Parquet File Name: file.parquet

  • Avro File Name: file.avro

  • File Exists Policy: Overwrite

  • Compression Codec: Snappy

Exemplo de conteúdo de um arquivo Avro no formato JSON:

{
  "name": "Aquiles",
  "phoneNumbers": [
    "11 99999-9999",
    "11 93333-3333"
  ],
  "active": true,
  "address": "St. Example",
  "score": 71.3,
  "details": "Some details"
}

Saída:

{
  "success": true,
  "fileName": "file.parquet"
}

File Exists Policy como Fail

Escrevendo um arquivo Parquet com o mesmo nome de um arquivo já existente no diretório de arquivos do pipeline:

  • Parquet File Name: file.parquet

  • Avro File Name: file.avro

  • File Exists Policy: Fail

Saída:

{
  "success": false,
  "message": "Something went wrong while trying to execute the Parquet Writer connector",
  "error": "com.digibee.pipelineengine.exception.PipelineEngineRuntimeException: Parquet file file.parquet already exists."
}

Atualizado