Quali sono i pro e i contro di Apache Avro?
Guarda il video qui sotto per capire Apache Avro in profondità.
Lo schema Avro e il suo formato di dati sono spiegati qui.
- È indipendente dalla piattaforma e può essere scritto in qualsiasi linguaggio, ad esempio Python, Java, C# ecc. Il file Avro usa lo schema per definire i suoi dati di sottolineatura. Tuttavia, è possibile modificare lo schema durante l'elaborazione del file Avro e si possono usare anche campi aggiuntivi che non esistono nel file con valori predefiniti. Ciò significa che se avete due sistemi separati, ad esempio uno ha bisogno di 5 campi per elaborare i dati AVRO in ingresso (che contiene 5 campi). Ora un altro sistema che ha bisogno di 6 campi per elaborare lo stesso file AVRO (tuttavia, ci sono solo 5 campi nel file di dati). Quindi può fornire dinamicamente un 6° campo durante l'elaborazione dei dati con un valore predefinito.
- Dati binari compressi. E lo schema è in formato JSON (java script object notation) che richiede meno spazio rispetto ai tag XML, quando è compresso. I file Avro sono tabelle divise, quindi possono essere facilmente memorizzati nel file system Hdfs e possono essere elaborati.
- Schema is part of data file, hence while processing it gets schema information about data in file itself. Using Serialization and De-serialization (SerDe). If you dont have schema definition for your avro file, you can extract schema definition from avro file and use it to process data at runtime.
Avro clearly handles following
- Missing fields
- Newly added fields
- Changed fields
- Old program can read data based on new schema
- New program can read data based on old schema
In Summary :
- Apache avro is a framework, which can allows you to serialize data that has schema built in.
- Serializza i dati in un formato binario compatto, che non richiede oggetti proxy.
- Invece di usare librerie di oggetti proxy generati e la digitazione forte, Avro si basa molto sullo schema che viene inviato insieme ai dati serializzati.
- Includendo lo schema Avro con il messaggio, aiuta qualsiasi applicazione a de-serializzare i dati.
- Gli schemi Avro descrivono il formato del messaggio e sono definiti utilizzando JSON
Articoli simili
- I bulbi oculari dei piloti di elicotteri Apache si muovono indipendentemente?
- Quale server web si adatta meglio a Django? Apache, Nginx o qualcos'altro?
- È meglio Xamarin o Apache Cordova?
- Qual è la tua opinione di AT&T Wireless contro Spring Wireless contro Verizon Wireless contro T-Mobile Wireless?