Format Atlas

Comparar

JSON Lines vs Avro

JSON Lines guarda um valor JSON por linha UTF-8 para processamento registro a registro. Avro codifica registros tipados com um esquema escritor e pode armazenar metadados do esquema nos blocos.

Qual formato você deve escolher?

Use JSON Lines para eventos legíveis, ferramentas de texto e fluxo por linha. Considere Avro para registros tipados e resolução de esquemas em pipelines gerenciados.

Indicado para JSON Lines

Logs e registros processados linha a linha · Troca contínua de registros JSON

  • Ler e gravar registros aos poucos
  • Acrescentar ou combinar dados de texto com ferramentas comuns

Indicado para Avro

Trocar registros com esquema definido

  • Eventos e pipelines com versões de esquema

Informações básicas

CampoJSON LinesAvro
Extensão.jsonl, .ndjson.avro
Tipo MIMEapplication/jsonlapplication/avro
Usos comunsLogs e registros processados linha a linha · Troca contínua de registros JSONTrocar registros com esquema definido
Como abrirAbra em um editor de texto ou ferramenta compatível com JSON Lines. Validar cada linha como JSON facilita encontrar o registro com erro de sintaxe.Use ferramenta Avro para conferir esquema, campos, tipos e registros.
Exportar ou converterPara criar um array JSON, reúna as linhas como elementos do array. Para converter um array em JSON Lines, grave cada valor em uma linha. Em arquivos grandes, considere o uso de memória.Ao converter para JSON ou Parquet, confira nomes, tipos, nulos, tipos lógicos, quantidade de registros e compatibilidade.

Escolha por finalidade

Ler e gravar registros aos poucos

Logs e registros processados linha a linha · Troca contínua de registros JSON

JSON Lines

Acrescentar ou combinar dados de texto com ferramentas comuns

Logs e registros processados linha a linha · Troca contínua de registros JSON

JSON Lines

Eventos e pipelines com versões de esquema

Trocar registros com esquema definido

Avro

Ponto principal 1

Um leitor de JSON Lines analisa cada valor JSON sem esquema separado; um leitor binário Avro precisa do esquema escritor.

Mais sobre as diferenças

Ponto principal 2

Acrescentar linhas JSON completas é uma operação de texto; o gravador Avro deve manter válidos os blocos e marcadores de sincronização.

Mais sobre as diferenças

Mais sobre as diferenças

Meça seus dados e leitores; nenhum formato é sempre menor ou mais rápido.

  • JSON Lines tem valores JSON independentes por linha; registros Avro seguem um esquema declarado.
  • Arquivos contêiner Avro armazenam o esquema escritor junto aos blocos; JSON Lines é texto UTF-8.
  • Leitores podem resolver mudanças compatíveis de esquema Avro; JSON Lines deixa campos e tipos a cargo da aplicação.

Perguntas frequentes

JSON Lines é igual à codificação JSON do Avro?

Não. JSON Lines separa valores JSON comuns por linha. A codificação JSON do Avro ainda segue seu esquema e suas regras de união.

Saiba mais

Referências e especificações