Avro (Apache Avro)

Apache Avro é um formato de armazenamento de contentores de objectos orientado a linhas para o Hadoop, bem como uma estrutura de chamada de procedimento remoto e serialização de dados. Hadoop é um framework de programação livre, baseado em Java que suporta o processamento de grandes conjuntos de dados em um ambiente computacional distribuído. O Avro é otimizado para operações de escrita e inclui um formato de fio para comunicação entre nós.

Avro faz a tradução entre diferentes nós através da definição dos dados e dados serializados permanentes. O Avro usa notação de objeto JavaScript para definir os tipos de dados e protocolos. Os dados são transmitidos em um formato binário eficiente e compacto. Um arquivo contendo Avro consiste de um cabeçalho e um ou vários blocos de armazenamento de arquivos.

O cabeçalho é composto de:

  • 4 bytes de ASCI "OBJ1"
  • Metadados de arquivo incluindo a definição do esquema
  • Um marcador de sincronização: 16 bytes de código gerado aleatoriamente

Avro também inclui sua própria linguagem de descrição de interface (IDL) também chamada Avro, além do JSON para definir tipos de dados e protocolos. IDL facilita a adoção por usuários que estão acostumados a IDLs tradicionais mais comuns, que têm uma sintaxe mais parecida com C/C++.

Avro é um projeto de alto nível patrocinado pela Apache Software Foundation (ASF).