高层概述

Apache Arrow Java 模块实现了包括列式格式和 IPC 在内的多种规范。大多数模块是原生的 Java 实现,但部分模块是针对 C++ 库的 JNI 绑定。

Arrow Java 模块

模块

描述

实现

arrow-format

由 IPC Flatbuffer 定义生成的 Java 文件。

原生 (Native)

arrow-memory-core

用于 Arrow ValueVector 的核心堆外内存管理库。

原生 (Native)

arrow-memory-unsafe

基于 sun.misc.Unsafe 的内存管理实现。

原生 (Native)

arrow-memory-netty

基于 Netty 的内存管理实现。

原生 (Native)

arrow-vector

Arrow 列式数据格式的堆外参考实现。

原生 (Native)

arrow-vector-codegen

适用于代码生成的 Arrow 数据类型模板文件。

原生 (Native)

arrow-tools

用于处理 Arrow ValueVector 的 Java 应用程序。

原生 (Native)

arrow-jdbc

(实验性)用于将 JDBC 数据转换为 Arrow 数据的库。

原生 (Native)

flight-core

一种用于传输 ValueVector 的 RPC 机制。

原生 (Native)

flight-sql

包含用于通过 Arrow Flight 向客户端和服务器公开 Flight SQL 语义的工具类。

原生 (Native)

flight-integration-tests

Flight RPC 的集成测试。

原生 (Native)

arrow-performance

针对 Arrow 库的 JMH 基准测试。

原生 (Native)

arrow-algorithm

(实验性)用于处理 ValueVector 的算法集合。

原生 (Native)

arrow-avro

(实验性)用于将 Avro 数据转换为 Arrow 数据的库。

原生 (Native)

arrow-compression

(实验性)用于处理 Arrow 数据压缩/解压缩的库。

原生 (Native)

arrow-c-data

C 数据接口的 Java 实现

JNI

arrow-orc

(实验性)C++ ORC 读取器实现的 JNI 封装。

JNI

arrow-gandiva

原生 Gandiva SQL 表达式编译器的 Java 封装。

JNI

arrow-dataset

Arrow Datasets 库的 Java 绑定。

JNI

Arrow Java 模块支持处理 (1) 内存中、(2) 存储态以及 (3) 网络传输中的数据。