Apache Avro

Fournit des services de sérialisation et d'échange de données pour Apache Hadoop

Close up of hands contemporary website developer man typing and writing code for program website and working with partner in office.

Qu'est-ce qu'Avro ?

Avro est un projet open source qui fournit des services de sérialisation et d'échange de données pour Apache Hadoop. Ces services peuvent être utilisés ensemble ou indépendamment. Avro facilite l'échange de magadonnées entre des programmes écrits dans n'importe quel langage. Grâce au service de sérialisation, les programmes peuvent sérialiser efficacement les données dans des fichiers ou des messages. Le stockage de données est compact et efficace. Avro stocke à la fois la définition des données et les données dans un seul message ou fichier.

Avro stocke la définition des données au format JSON, ce qui facilite leur lecture et leur interprétation. Les données elles-mêmes sont stockées au format binaire, ce qui les rend compactes et efficaces. Les fichiers Avro comprennent des marqueurs qui peuvent être utilisés pour diviser de grands ensembles de données en sous-ensembles adaptés au traitement Apache MapReduce. Certains services d'échange de données utilisent un générateur de code pour interpréter la définition des données et produire un code permettant d'accéder aux données. Avro ne nécessite pas cette étape, ce qui le rend idéal pour les langages de script.

L'une des principales caractéristiques d'Avro est la prise en charge robuste des schémas de données qui changent au fil du temps, ce que l'on appelle généralement l'évolution des schémas. Avro gère les changements de schéma tels que les champs manquants, les champs ajoutés et les champs modifiés ; en conséquence, les anciens programmes peuvent lire les nouvelles données et les nouveaux programmes peuvent lire les anciennes. Avro inclut des API pour Java , Python , Ruby , C, C++, entre autres. Les données stockées à l'aide d'Avro peuvent être transmises par des programmes écrits dans différents langages, même d'un langage compilé comme le C à un langage de script comme Apache Pig.


Solutions connexes

Améliorez et accélérez l'analytique avec les solutions Hadoop d'IBM.

IBM et Cloudera se sont associés pour proposer une distribution Hadoop de niveau entreprise, leader du marché, comprenant un écosystème intégré de produits et de services pour accélérer l'analytique à grande échelle.