Apache Avro
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
- Apache Thrift
- Google's Protocol Buffers
- Cisco's Etch
- ZeroC's Internet Communications Engine
- Microsoft's " M "
- MessagePack
Individual evidence
- ↑ projects.apache.org . (accessed on April 8, 2020).
- ↑ Release 1.10.0 . July 1, 2020 (accessed July 2, 2020).
- ↑ http://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
- ↑ http://avro.apache.org/docs/current/idl.html