Quais são os prós e os contras do Apache Avro?
Veja o vídeo abaixo para entender o Apache Avro em profundidade.
AVRO schema e seu formato de dados explicado aqui.
- É independente de plataforma, e pode ser escrito em qualquer linguagem, por exemplo, Python, java, C#, etc. O arquivo Avro usa o esquema para definir seus dados de sublinhado. No entanto, você pode modificar o seu esquema enquanto processa o ficheiro Avro e também pode usar campos adicionais que não existem no ficheiro com valor por defeito. Isso significa que se você tiver dois sistemas separados, por exemplo, um precisa de 5 campos para processar dados AVRO de entrada (que contém 5 campos). Agora outro sistema que precisa de 6 campos para processar o mesmo arquivo AVRO (No entanto, existem apenas 5 campos no arquivo de dados). Assim, ele pode fornecer dinamicamente um 6º campo enquanto processa dados com valor padrão.
- Dados comprimidos binários. E o esquema está no formato JSON (notação de objeto java script) que ocupa menos espaço em comparação com as tags XML, quando comprimido. Os arquivos avro são divididos, portanto, podem ser facilmente armazenados no sistema de arquivos hdfs e podem ser processados.
- Schema is part of data file, hence while processing it gets schema information about data in file itself. Using Serialization and De-serialization (SerDe). If you dont have schema definition for your avro file, you can extract schema definition from avro file and use it to process data at runtime.
Avro clearly handles following
- Missing fields
- Newly added fields
- Changed fields
- Old program can read data based on new schema
- New program can read data based on old schema
In Summary :
- Apache avro is a framework, which can allows you to serialize data that has schema built in.
- li>Serializa dados em um formato binário compacto, que não requer objetos proxy.>li>li> Em vez de usar bibliotecas de objetos proxy gerados e digitação forte, o Avro se baseia fortemente no esquema que é enviado junto com os dados serializados.
- Incluindo o Avro schema com a mensagem, ajuda qualquer aplicação a de-serializar os dados.>li>li>Esquemas de Avro descrevem o formato da mensagem e são definidos usando JSON
Artigos semelhantes
- Os olhos dos pilotos de helicóptero Apache movem-se independentemente?
- Qual o servidor web que melhor se adapta ao Django? Apache, Nginx ou outra coisa qualquer?
- Xamarin ou Apache Cordova é melhor?
- O que é enraizar um Android, quais são os prós e os contras, quais são as chances de perder o telefone ou os dados?