Apache-Arrow是什么?

Apache Arrow是一个跨平台的开源数据存储格式,它提供了统一的数据模型和API,用于在不同系统间无需序列化地高效传递数据。Arrow的核心组件包括Schema、Field、VectorSchemaRoot和FieldVector。Schema描述数据结构,Field包含名字、类型和子Field,FieldVector是列数据的数组,而VectorSchemaRoot则保存Schema和数据。通过Arrow,可以减少数据转换带来的性能损耗,提高数据分析和处理的速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache-Arrow是什么?

Arrow是一种数据存储格式,以及对这个格式的一系列API及多语言的SDK。

当上层应用使用这个接口访问这些数据的时候,大家就不用在不同的私有格式之间转换。

从而省去了大量的序列化和反序列化的计算资源。

基础概念

一、Schema:

​ Schema下有一组Field,以及一个Metadata进行描述。

​ Schema下的Metadata是一个key-Value的map

二、Field:

​ 每个Field由《名字》,《类型》和一组子《Field》组成。

​ 类型分为基础类型和复合类型。

​ 类型还可以有一个字典编码格式描述。描述十分排序,字典ID,以及索引类型。

三、VectorSchemaRoot:

​ 保存Schema和数据FieldVector

​ 保存有行数量rowCount

​ 保存有Field到FieldVector的Map,以便方便快速找到数据。

四、FieldVector:

​ 一个列数据的数组

​ 底层靠ArrowBuf进行底层内存的实际访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值