Format Atlas

Confronta

Avro o JSON

Apache Avro è un sistema di serializzazione basato su schema, con codifica binaria compatta e file contenitore di oggetti che include lo schema. JSON è un formato testuale leggibile per lo scambio; Avro definisce anche una codifica JSON.

Quale formato scegliere?

Valuta Avro per record compatti regolati da uno schema e per la risoluzione tra schemi di scrittura e lettura. Scegli JSON se contano soprattutto l'ispezione testuale e l'ampia interoperabilità applicativa.

Adatto per Avro

Scambiare record con schema definito

  • Eventi e flussi che tengono traccia delle versioni dello schema

Adatto per JSON

API web, file di configurazione e scambio dati

  • Trasferire dati strutturati

Informazioni di base

VoceAvroJSON
Estensione.avro.json
Tipo MIMEapplication/avroapplication/json
Usi comuniScambiare record con schema definitoAPI web, file di configurazione e scambio dati
Come aprireUsa uno strumento Avro per controllare schema, campi, tipi e record.Aprilo in un editor di testo, IDE o visualizzatore compatibile con JSON.
Esportare o convertireVerso JSON o Parquet verifica nomi, tipi, null, tipi logici, numero di record e compatibilità.Applicazioni o strumenti di conversione possono convertirlo in formati come CSV.

Scegli in base all'uso

Eventi e flussi che tengono traccia delle versioni dello schema

Scambiare record con schema definito

Avro

Trasferire dati strutturati

API web, file di configurazione e scambio dati

JSON

Punto chiave 1

La codifica binaria di Avro segue uno schema; il file contenitore memorizza blocchi di dati e metadati dello schema. JSON è testo definito da RFC 8259, mentre Avro ha anche una codifica JSON distinta.

Approfondisci le differenze

Punto chiave 2

Per leggere Avro serve lo schema di scrittura, che può essere risolto con quello di lettura. La sintassi JSON non richiede uno schema dati, anche se l'applicazione può definirlo a parte.

Approfondisci le differenze

Approfondisci le differenze

Usa Avro quando produttori e consumatori condividono uno schema gestito e sono utili record compatti. Usa JSON per interfacce testuali ispezionabili e strumenti diffusi. Specifica la codifica e convalida tipi e comportamento degli schemi durante la conversione.

  • Avro codifica i valori secondo uno schema; i file contenitore includono blocchi e metadati dello schema. JSON è una grammatica testuale. Avro non è solo binario: specifica anche una codifica JSON.
  • La risoluzione degli schemi Avro può associare schemi di scrittura e lettura secondo regole di compatibilità. I documenti JSON possono essere elaborati senza schema incorporato; la convalida dipende spesso dal contratto applicativo.
  • Numeri, null, array e oggetti JSON non corrispondono uno a uno a union, bytes, timestamp e altri tipi Avro. Controlla valori predefiniti, dati mancanti, precisione numerica, codifica e compatibilità degli schemi.

Domande frequenti

Avro è sempre binario e JSON sempre testuale?

No. Avro usa spesso la codifica binaria, ma definisce anche quella JSON. Identifica la codifica Avro e il contenitore o framing dei messaggi effettivamente usati.

Scopri di più

Riferimenti e specifiche