Avro ist ein Remote-Procedure-Call- und Serialisierungs-Framework, das als Teil von Apache Hadoop entwickelt worden ist. Es verwendet JSON, um Datentypen und Protokolle zu definieren. Die eigentlichen Daten werden in einem kompakten Binärformat serialisiert. Sein Hauptverwendungszweck ist Hadoop, wo es sowohl als Serialisierungsformat für die Persistierung von Daten als auch als Datenübertragungsformat für die Kommunikation zwischen Hadoop-Knoten untereinander sowie zwischen Hadoop-Services und Client-Programmen verwendet werden kann.
Apache Avro
| |
---|---|
Basisdaten
| |
Entwickler | Apache Software Foundation |
Erscheinungsjahr | 11. Januar 2011[1] |
Aktuelle Version | 1.12.0[2] (5. August 2024) |
Betriebssystem | POSIX (Linux, Unix, OpenBSD, macOS u. a.) |
Programmiersprache | Ruby |
Kategorie | Serialisierung |
Lizenz | Apache-Lizenz 2.0 |
avro.apache.org |
Es ähnelt Apache Thrift, aber erfordert nicht die vorgängige Code-Generierung wenn das Schema sich ändert, außer dies wird für eine statisch typisierte Programmiersprache ausdrücklich gewünscht.
Sprachen mit APIs
BearbeitenWährend theoretisch jede Programmiersprache Avro benutzen könnte, haben die folgenden Sprachen bereits fertig verfügbare APIs: [3]:
Avro IDL
BearbeitenAußer der Möglichkeit, JSON für Typ- und Protokoll-Definitionen zu verwenden, bietet AVRO auch eine noch experimentelle Funktionalität[7] für eine alternative Schnittstellenbeschreibungssprache (IDL), deren Syntax als „Avro IDL“ bezeichnet wird. Dieses Format, das vorher „GenAvro“ genannt wurde, soll es Anwendern, die mit traditionellen IDLs vertraut sind, erleichtern, Avro zu verwenden. Avro IDL verwendet eine Syntax, die C++, C, Protocol Buffers und anderen ähnelt.
Siehe auch
Bearbeiten- Apache Thrift
- Googles Protocol Buffers
- Ciscos Etch
- ZeroCs Internet Communications Engine
- Microsofts „M“
- MessagePack
Einzelnachweise
Bearbeiten- ↑ projects.apache.org. (abgerufen am 8. April 2020).
- ↑ Release 1.12.0. 5. August 2024 (abgerufen am 20. August 2024).
- ↑ https://github.com/phunt/avro-rpc-quickstart
- ↑ https://issues.apache.org/jira/browse/AVRO/fixforversion/12316197
- ↑ https://issues.apache.org/jira/browse/AVRO-533
- ↑ https://cwiki.apache.org/confluence/display/AVRO/Supported+Languages
- ↑ Archivierte Kopie ( des vom 20. September 2010 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.