🍋
Menu
.avro Data

Apache Avro (Serializacao Baseada em Linhas)

Apache Avro e um sistema de serializacao de dados baseado em linhas com schemas ricos definidos em JSON. E amplamente utilizado no ecossistema Hadoop para armazenamento de dados e chamadas de procedimento remoto.

Tipo MIME

application/avro

Tipo

Binário

Compressão

Sem perdas

Vantagens

  • + Schema evolution — add/remove fields without breaking readers
  • + Compact binary encoding with efficient compression
  • + Self-describing — schema embedded in the file
  • + Standard in Kafka and the Hadoop ecosystem

Desvantagens

  • Row-based — less efficient than Parquet for analytical queries
  • Not human-readable in binary form
  • JSON schema specification has a learning curve

Quando usar .AVRO

Use o Avro para streaming de dados (Kafka), armazenamento de data lakes baseado em linhas e cenarios onde a evolucao de esquema e a troca de dados entre linguagens sao requisitos.

Detalhes técnicos

O Avro utiliza schemas JSON para definicao de tipos e codificacao binaria compacta para dados. Os ficheiros incluem o schema no cabecalho, permitindo deserializacao autodescritiva. Os dados sao organizados em blocos comprimiveis com compressao Deflate ou Snappy.

Histórico

Doug Cutting (criador do Hadoop) desenvolveu o Avro como parte da Apache, com o lancamento 1.0 em 2009. Foi concebido para superar as limitacoes dos Writable do Hadoop com schemas autodescritivos e evolucao de esquema.

Converter de .AVRO

Converter para .AVRO

Formatos relacionados