Apache Avro

from Wikipedia, the free encyclopedia
Apache Avro
Basic data

developer Apache Software Foundation
Publishing year January 11, 2011
Current  version 1.10.0
( July 1, 2020 )
operating system POSIX ( Linux , Unix , OpenBSD , macOS and others)
programming language Ruby
category Serialization
License Apache license 2.0
avro.apache.org

Avro is a remote procedure call - and serialization - Framework , which as part of Apache Hadoop has been developed. It uses JSON to define data types and protocols. The actual data is serialized in a compact binary format. Its main purpose is Hadoop, where it can be used both as a serialization format for the persistence of data and as a data transfer format for communication between Hadoop nodes and between Hadoop services and client programs.

It is similar to Apache Thrift , but does not require the previous code generation if the schema changes, unless this is expressly desired for a statically typed programming language.

Languages ​​with APIs

While theoretically any programming language could use Avro, the following languages ​​have APIs already available::

Avro IDL

In addition to the possibility of using JSON for type and protocol definitions, AVRO also offers experimental functionality for an alternative interface description language (IDL), the syntax of which is known as "Avro IDL". This format, previously called GenAvro, is designed to make it easier for people familiar with traditional IDLs to use Avro. Avro IDL uses a syntax similar to C ++, C, Protocol Buffers, and others.

See also

Individual evidence

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