Apache Avro | |||
---|---|---|---|
![]() | |||
Utvikler(e) | Apache Software Foundation | ||
Utgitt | 11. januar 2011[1] | ||
Nyeste versjon | 1.12.0(5. august 2024)[2] | ||
Kodelager | https://github.com/apache/avro | ||
Skrevet i | Java,[3][1]C,[1]C++,[1]C#,[1]PHP,[1]Python,[1]Ruby,[1]JavaScript,[4]Perl,[4]Rust[4] | ||
Type | Serialiseringsformat[4] | ||
Lisens | Apache License 2.0[5] | ||
Nettsted | avro.apache.org (en)[6] | ||
Last ned | http://avro.apache.org/releases.html | ||
Avro er etremote procedure call (RPC) og dataserialiserings-rammeverk utviklet innenfor Apaches Hadoop-prosjektet. Det brukerJSON for å definere datatyper ogprotokoller og serialiserer data i en kompakt binært format. Det brukes hovedsakelig iApache 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.
Det er ligner påThrift, men krever ikke et kjørende kodegenererende program når etskjema skifter (unntatt når det er ønskelig for statisktypede språk).
Spark SQL støtter datakilde-tilgang til Avro gjennom Spark-pakker.[7]
Teoretisk sett kan hvilket som helst språk bruke Avro, men disse har faktiskeprogrammeringsgrensesnitt (API-er) som støtter Avro direkte:[8][9]
I tillegg til å støtte JSON for type- og protokoll-definisjoner, Avro inkluderer eksperimentell[13] støtte for et alternativInterface 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.