高级概述#

Apache Arrow Java 模块实现了各种规范,包括列式格式和 IPC。大多数模块是纯 Java 实现,但有些模块是 C++ 库的 JNI 绑定。

Arrow Java 模块#

模块

描述

实现

arrow-format

根据 IPC Flatbuffer 定义生成的 Java 文件。

原生

arrow-memory-core

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

原生

arrow-memory-unsafe

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

原生

arrow-memory-netty

基于 Netty 的内存管理实现。

原生

arrow-vector

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

原生

arrow-tools

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

原生

arrow-jdbc

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

原生

flight-core

用于传输 ValueVectors 的 RPC 机制。

原生

flight-sql

包含实用类,用于通过 Arrow Flight 为客户端和服务器公开 Flight SQL 语义。

原生

flight-integration-tests

Flight RPC 的集成测试。

原生

arrow-performance

Arrow 库的 JMH 基准测试。

原生

arrow-algorithm

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

原生

arrow-avro

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

原生

arrow-compression

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

原生

arrow-c-data

C 数据接口的 Java 实现

JNI

arrow-orc

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

JNI

arrow-gandiva

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

JNI

arrow-dataset

Arrow 数据集库的 Java 绑定。

JNI

Arrow Java 模块支持处理 (1) 内存中、(2) 静止状态和 (3) 传输中的数据。