Zum Inhalt springen

Apache Avro

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 27. Juli 2015 um 14:09 Uhr durch Trustable (Diskussion | Beiträge) (wikilinks). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Apache Avro

Basisdaten

Entwickler Apache Software Foundation
Erscheinungsjahr 11. Januar 2011[1]
Aktuelle Version 1.7.6
(22. Januar 2014)
Betriebssystem POSIX (Linux, Unix, OpenBSD, Mac OS X u.a.)
Programmier­sprache Ruby
Kategorie Serialisierung
Lizenz Apache-Lizenz 2.0
avro.apache.org

Avro ist ein Remote Procedure Call- und Serialisierungs-Framework, das als Teil von Apaches Hadoop-Projekt 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.

Es ähnelt Apache Thrift, aber erfordert nicht die vorgängige Code-Generierung wenn das Schema sich ändert, außer dies wird für statisch typisierte Programmiersprache ausdrücklich gewünscht.

Sprachen mit APIs

Während theoretisch jede Programmiersprache Avro benutzen könnte, haben die folgenden Sprachen bereits fertig verfügbare APIs: [2]:

Avro IDL

Außer der Möglichkeit, JSON für Typ- und Protokoll-Definitionen zu verwenden, bietet AVRO auch eine noch experimentelle Funktionalität [6] 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

Referenzen

  1. projects.apache.org. (abgerufen am 8. April 2020).
  2. http://github.com/phunt/avro-rpc-quickstart
  3. https://issues.apache.org/jira/browse/AVRO/fixforversion/12316197
  4. https://issues.apache.org/jira/browse/AVRO-533
  5. https://cwiki.apache.org/confluence/display/AVRO/Supported+Languages
  6. http://avro.apache.org/docs/current/idl.html