🍋
Menu
.arrow Data

Apache Arrow IPC(内存列式格式)

Apache Arrow IPC 是一种与语言无关的列式内存数据格式。它支持进程和语言(Python、R、C++、Java)之间的零拷贝数据共享,无需序列化开销,是现代数据处理管道的基础。

MIME 类型

application/vnd.apache.arrow.file

类型

二进制

压缩

无损

优点

  • + Zero-copy data sharing between languages and processes
  • + Optimized for SIMD and vectorized computation
  • + Standard memory layout for modern data tools (DuckDB, Polars, Pandas)

缺点

  • Not designed for persistent storage — use Parquet for that
  • Files are larger than compressed Parquet or CSV
  • More complex than CSV for simple data exchange

何时使用 .ARROW

在进程间数据交换、构建数据处理管道以及任何需要零拷贝数据共享的场景中使用 Arrow

技术细节

Arrow 文件使用固定大小的二进制布局,每列使用连续内存缓冲区。IPC 格式支持流式(顺序消息)和文件(带尾部的随机访问)两种模式。空值使用有效性位图。

历史

Wes McKinney(Pandas 的创建者)于 2016 年发起 Apache Arrow 项目,旨在解决工具之间数据序列化的低效问题。Arrow 提供了被 DuckDB、Polars 和 Pandas 2.0 采用的通用内存布局。

从 .ARROW 转换

转换为 .ARROW

相关格式

相关术语