今日指数项目之Apache Avro介绍【五】
2023-09-27 14:27:52 时间
高性能数据传输中间件
在企业级大数据流处理项目中,往往在项目数据源处需要面临实时海量数据的采集。采集数据的性能一般与网络带宽、机器硬件、数据量等因素有直接关系;当其他因素是固定的,这里我们只考虑数据量的话,那么数据量的传输和存储性能是我们首先需要面对和解决的。
由此我们引入了Avro数据序列化框架,来解决数据的传输性能问题。
Avro特点:
1.丰富的数据结构
2.一个紧凑的,快速的,二进制的数据格式
3.一个容器文件,来存储持久化数据
4.远程过程调用(RPC)
5.简单的动态语言集成。
6.Avro模式是使用JSON定义的 。这有助于以已经具有JSON库的语言实现。
JSON是一种轻量级的数据传输格式,对于大数据集,JSON数据会显示力不从心,因为JSON的格式是key:value型,每条记录都要附上key的名字,有的时候,光key消耗的空间甚至会超过value所占空间,这对空间的浪费十分严重,尤其是对大型数据集来说,因为它不仅不够紧凑,还要重复地加上key信息,不仅会造成存储空间上的浪费,更会增加了数据传输的压力,从而给集群增加负担,进而影响整个集群的吞吐量。而采用Avro数据序列化系统可以比较好的解决此问题,因为用Avro序列化后的文件由schema和真实内容组成,schema只是数据的元数据,相当于JSON数据的key信息,schema单独存放在一个JSON文件中,这样一来,数据的元数据只存了一次,相比JSON数据格式的文件,大大缩小了存储容量。从而使得Avro文件可以更加紧凑地组织数据。
官网地
相关文章
- 实用 | Apache Kudu读写路径
- Apache Flink实现的数据流体系结构
- Solr4.2迁移到新项目下异常:java.lang.NoSuchMethodError: org.apache.http.conn.scheme.Scheme.<init>
- 你不知道的六大Apache大数据项目新星
- **Apache的Order Allow,Deny 详解
- Apache + WordPress + SSL 完全指南
- Linux下apache的停止、开启、重启
- 使用tomcat7发布war项目启动org_apache_tomcat_websocket报错
- 基于Apache doris怎么构建数据中台(二)-数据中台建设内容
- Apache Doris 集群升级
- Apache Awstats 安装配置系列 (2)之 apache部署WEB项目(配置多个地址)
- 已解决org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- 基于Apache Hudi和Debezium构建CDC入湖管道
- 通向架构师的道路(第一天)之Apache整合Tomcat
- 项目启动报错:org.apache.logging.log4j.core.util.UuidUtil.clinit
- 记录:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding...【解决方案】
- 项目依赖问题导致No qualifying bean of type 'org.apache.ibatis.session.SqlSessionFactory' available: more than one 'primary' bean
- Apache Flink DataStream API