加载中...

Apache Arrow 是 2016 年发起的跨语言开发平台,定义了一种标准化的内存列式数据格式,目标是让不同系统、不同语言之间以零拷贝方式交换分析数据。
Arrow 规定了各种数据类型在内存中的列式布局:定长类型连续存放,变长类型用偏移数组加数据缓冲区表示,空值用位图标记。数据按 64 字节对齐,便于 CPU 向量化(SIMD)处理。由于布局跨语言一致,C++、Java、Python、Rust、Go 等实现可以直接共享同一块内存,序列化开销趋近于零。配套组件包括进程间通信格式 Arrow IPC、高性能查询协议 Arrow Flight 以及内嵌查询引擎 DataFusion(Rust 子项目衍生)等。
pandas 与 Spark 之间的数据交换、DuckDB、Polars、Dremio、InfluxDB IOx 等大量现代引擎都以 Arrow 为内存格式;Parquet 的多语言读写库也由 Arrow 项目维护。
优点是消除序列化瓶颈、生态统一;其定位是内存格式,不直接解决持久化存储问题。

登录 后参与讨论
暂无讨论,来发表第一条评论吧