Apache Avro是什么?

2023-12-08 09:58
文章标签 apache avro

本文主要是介绍Apache Avro是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面

本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见100个问题搞定大数据理论体系

解答

Apache Avro(以下简称Avro)是一种与编程语言无关的序列化格式。 
Avro是Hadoop生态系统中的序列化及RPC框架,设计之初的意图是为 Hadoop提供一个高效、灵活且易于演化的序列化及RPC基础库,目前已经发展成一个独立的项目。
Avro数据通过与语言无关的 schema来定义。 
schema通过JSON来描述,数据被序列化成二进制文件或JSON文件,不过一般会使用二进制文件。
Avro在读写文件时需要用到schema, schema一般会被内嵌在数据文件里。
Avro有一个很有意思的特性是,当负责写消息的应用程序使用了新的 schema,负责读消息的应用程序可以继续处理消息而无需做任何改动,这个特性使得它特别适合用在像Kafka这样的消息系统上。

补充

相比于Thrift和Protobuf,Avro具有以下几个特点:

  1. 动态类型:Avro不需要生成代码,它将数据和schema存放在一起,这样数据处理过程并不需要生成代码,方便构建通用的数据处理系统和语言。
  2. 未标记的数据:读取Avro数据时schema是已知的,这使得编码到数据中的类型信息变少,进而使得序列化后的数据量变少。
  3. 不需要显式指定域编号:处理数据时新旧schema都是已知的,因此通过使用字段名称即可解决兼容性问题。

这篇关于Apache Avro是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/469429

相关文章

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用

Apache HttpClient使用详解

转载地址:http://eksliang.iteye.com/blog/2191017 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性。因此熟

开源Apache服务器安全防护技术精要及实战

Apache 服务简介   Web服务器也称为WWW服务器或HTTP服务器(HTTPServer),它是Internet上最常见也是使用最频繁的服务器之一,Web服务器能够为用户提供网页浏览、论坛访问等等服务。   由于用户在通过Web浏览器访问信息资源的过程中,无须再关心一些技术性的细节,而且界面非常友好,因而Web在Internet上一推出就得到了爆炸性的发展。现在Web服务器已

Java中WebService接口的生成、打包成.exe、设置成Windows服务、及其调用、Apache CXF调用

一、Java中WebService接口的生成: 1、在eclipse工具中新建一个普通的JAVA项目,新建一个java类:JwsServiceHello.java package com.accord.ws;import javax.jws.WebMethod;import javax.jws.WebService;import javax.xml.ws.Endpoint;/*** Ti

【虚拟机/服务器】XAMPP错误: Apache shutdown unexpectedly解决办法

XAMPP安装好之后启动,但有些用户在启动apache的时候会出现: 11:41:38 [Apache] Status change detected: running11:41:38 [Apache] Status change detected: stopped11:41:38 [Apache] Error: Apache shutdown unexpectedly.11:41:38

windows下安装apache及php需要注意的问题

1.php5.2版本不扩展模块顺序有问题 把php_mbstring.dll放在php_exif.dll上面,后者依赖前者

部署Apache网站

简易部署自己的apache网站 写在前面:先安装好mysql,再来搭建站点 1.安装php [root@localhost ~]# yum install php -y##安装了php,默认会和apache结合工作 2.创建文件编写php网页代码 [root@localhost ~]# vim /var/www/html/index.php ##创建php的代码,index.p

兔子-更改 Apache 默认网站根目录

1.到Apache的安装目录下找到conf文件夹,该文件夹内会httpd.conf这样一个文本文档,它是Apache的配置文件。2.Ctrl+F组合键,找到 DocumentRoot D:/Apache/htdocs 将D:/Apache/htdocs改为你自定义的网站目录; 3.找到 <Directory D:/Apache/htdocs 将D:/Apache/htdocs改为你自定义的网

POM文件第一行报错org.apache.maven.archiver.MavenArchiver.getManifest

前几天新建maven项目时,系统自动生成的POM文件第一行总是报错 org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) 百思不得其解,明明是自动生成的怎么还会有

兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)

Apache Doris 内置支持包括 Hive、Iceberg、Hudi、Paimon、LakeSoul、JDBC 在内的多种 Catalog,并为其提供原生高性能且稳定的访问能力,以满足与数据湖的集成需求。而随着 Apache Doris 用户的增加,新的数据源连接需求也随之增加。因此,从 3.0 版本开始,Apache Doris 引入了 Trino Connector 兼容框架。 Tri