@原创文章,转载请注明: 转载自 镜中影的技术博客
本文链接地址: Apache Arrow源码分析(一)——简介和框架
URL:http://blog.csdn.net/linkpark1904/article/details/50980464
背景
列存储在数据库领域中早已被提出,列存储数据结构在分析型事务上表现优异,大数据分析引擎,诸如Spark-SQL,Impala 均采用列存储作为其中间数据表示形式,那么Apache Arrow就是这样一种内存列式数据结构。
在众多分布式系统中,每个系统都有自己内部的内存格式,70-80%的CPU浪费在序列化和反序列化过程,类似功能在多个项目中实现,没有一个标准。那么Arrow就是为解决这一问题而提出了。Arrow基于列存储的数据组织方式,能够很好的适应CPU的Cache,以及现代CPU SIMD (Single input multiple data) 技术,并且提供良好的序列化和反序列化性能。更值得一提的是,Arrow提供良好的扩展性,既有C++版的实现,又有java版的实现,是一个很值得学习的数据结构库。
基本思想
Arrow 基本思想就