高级概述#

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

Java 实现 C 数据接口

JNI

arrow-orc

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

JNI

arrow-gandiva

围绕本地 Gandiva SQL 表达式编译器的 Java 包装器。

JNI

arrow-dataset

Arrow 数据集库的 Java 绑定。

JNI

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