Avro er et remote procedure call (RPC) og dataserialiserings-rammeverk utviklet innenfor Apaches Hadoop-prosjektet. Det bruker JSON for å definere datatyper og protokoller og serialiserer data i en kompakt binært format. Det brukes hovedsakelig i Apache Hadoop, hvor det kan gi både et serialisert format for persistente data og et overføringsformat for kommunikasjon mellom Hadoop-noder og fra klientprogrammer til Hadoop-tjenester.

Apache Avro
Utvikler(e)Apache Software Foundation
Utgitt 11. januar 2011[1]
Nyeste versjon1.11.3 (25. september 2023)[2]
Kodelagerhttps://github.com/apache/avro
Skrevet iJava,[3][1] C,[1] C++,[1] C#,[1] PHP,[1] Python,[1] Ruby,[1] JavaScript,[4] Perl,[4] Rust[4]
TypeSerialiseringsformat[4]
LisensApache License 2.0[5]
Nettstedavro.apache.org (en)[6]
Last nedhttp://avro.apache.org/releases.html

Det er ligner på Thrift, men krever ikke et kjørende kodegenererende program når et skjema skifter (unntatt når det er ønskelig for statisk typede språk).

Spark SQL støtter datakilde-tilgang til Avro gjennom Spark-pakker.[7]

Språk med API-er rediger

Teoretisk sett kan hvilket som helst språk bruke Avro, men disse har faktiske programmeringsgrensesnitt (API-er) som støtter Avro direkte:[8][9]

Avro IDL rediger

I tillegg til å støtte JSON for type- og protokoll-definisjoner, Avro inkluderer eksperimentell[13] støtte for et alternativ Interface Definition Language (IDL)-syntaks kjent som Avro IDL. Tidligere kjent som GenAvro, ble dette formatet designet for å lette bruken for brukere mer kjent med tradisjonelle IDL-er og programmeringsspråk med en syntaks tilnærmet lik som C/C++, Protocol Buffers og andre.

Se også rediger

Referanser rediger

Videre lesning rediger

Eksterne lenker rediger