使用“Apache Arrow”的项目和产品名称
创建用于 Apache Arrow 的产品和项目的组织,以及相关的营销材料,应注意尊重“Apache Arrow”及其徽标的商标。请参考 ASF 商标指南 和相关的 常见问题解答,以获取有关正确使用 ASF 商标的全面和权威指南。
完全不包含“Apache Arrow”的名称不会与 Apache Arrow 项目产生任何潜在的商标问题。建议使用此类名称。
诸如“Apache Arrow BigCoProduct”之类的名称是不允许的,包含“Apache Arrow”的名称通常也是不允许的。但是,上述链接描述了一些例外情况,例如名称为“BigCoProduct,由 Apache Arrow 提供支持”或“BigCoProduct for Apache Arrow”。
通常的做法是创建软件标识符(Maven 坐标、模块名称等),例如“arrow-foo”。这些是允许的。在描述中对商标的指称性使用也是始终允许的,例如“BigCoProduct 是 Apache Arrow 的一个部件”。
想要包含 Apache Arrow 徽标的项目和文档应使用官方徽标,并遵守 视觉标识 页面上列出的指南
由 Apache Arrow 提供支持的项目
要将自己添加到列表中,请打开一个 拉取请求,添加您的组织名称、URL、您正在使用的 Arrow 组件列表以及您用例的简短描述。
- Apache Parquet: 一种列式存储格式,可供 Hadoop 生态系统中的任何项目使用,无论选择哪种数据处理框架、数据模型或编程语言。C++ 和 Java 实现提供了从 Arrow 数据结构进行向量化读写。
- Apache Spark: Apache Spark™ 是一个用于大规模数据处理的快速且通用的引擎。Spark 使用 Apache Arrow 来
- 提高 Spark DataFrame 和 pandas DataFrame 之间转换的性能
- 在 PySpark 中启用一组向量化用户定义函数(
pandas_udf
)。
- ArcPy: ArcPy 是 Esri 的一个全面且强大的 API,用于在 ArcGIS 产品套件中工作,以执行和自动化空间分析、数据管理和转换任务(需要许可证)。ArcPy 支持 Arrow 表作为输入和输出。
- AWS Data Wrangler: 扩展了 Pandas 库的功能,使其能够连接到 AWS,连接 DataFrame 和 AWS 数据相关服务,例如 Amazon Redshift、AWS Glue、Amazon Athena、Amazon EMR、Amazon QuickSight 等。
- Bodo: Bodo 是一个通用的 Python 分析引擎,它使主流企业能够使用高性能计算 (HPC) 架构,从而使 Python 分析工作负载能够高效地扩展。Bodo 使用 Arrow 来支持 Parquet 文件的 I/O,以及对数据操作的内部支持。
- ClickHouse: 一个开源分析型数据库管理系统。ClickHouse 使用 Apache Arrow 进行数据导入和导出,以及直接查询 Arrow、ArrowStream、Parquet 和 ORC 格式的外部数据集。
- CloudQuery: 一个由 Apache Arrow 类型系统驱动的开源高性能 ELT 框架。
- Cylon: 一个开源高性能分布式数据处理库,可以与现有的 Big Data 和 AI/ML 框架无缝集成。Cylon 使用 Arrow 内存格式,并公开 C++、Java 和 Python 的语言绑定。
- Dask: 用于动态任务图的并行和分布式执行的 Python 库。Dask 支持使用 pyarrow 访问 Parquet 文件
- Data Preview: Data Preview 是一个 Visual Studio Code 扩展,用于查看文本和二进制数据文件。Data Preview 使用 Arrow JS API 加载、转换和保存 Arrow 数据文件和模式。
- delta-rs: 一个用于 Delta Lake 的原生 Rust 库,具有 Python 绑定。它可以与 Apache Arrow 集成,提高网络数据交换的效率
- Dremio: 一个自助式数据平台。Dremio 使用户能够轻松地从任何来源发现、整理、加速和共享数据。它包括一个基于 Apache Arrow 的分布式 SQL 执行引擎。Dremio 将数据从任何来源(RDBMS、HDFS、S3、NoSQL)读入 Arrow 缓冲区,并通过 ODBC、JDBC 和 REST 为 BI、Python、R 等提供快速 SQL 访问(所有这些都由 Apache Arrow 支持)。
- Falcon: 一个具有协调视图的交互式数据探索工具。Falcon 使用 Arrow JavaScript 模块加载 Arrow 文件。由于 Arrow 不需要解析(如 CSV 和 JSON 等基于文本的格式),因此启动成本大大降低。
- FASTDATA.io: Plasma Engine(与 Arrow 的 Plasma 内存中对象存储无关)利用 GPU 的海量并行处理能力进行流和批处理。它支持 Arrow 作为输入和输出,在内部使用 Arrow 以最大限度地提高性能,并且可以与现有的 Apache Spark™ API 一起使用。
- Fletcher: Fletcher 是一个框架,可以将 FPGA 加速器与使用 Apache Arrow 内存格式的工具和框架集成。从一组 Arrow 模式开始,Fletcher 生成高度优化的硬件结构,允许加速器内核通过易于使用的接口以系统带宽读取和写入 RecordBatch。
- GeoMesa: 一套工具,能够在分布式计算系统上进行大规模地理空间查询和分析。GeoMesa 支持以 Arrow IPC 格式查询结果,然后可以将其用于浏览器内可视化或进一步分析。
- GOAI: 用于 Arrow 支持的分析的开放式 GPU 加速分析计划,涵盖 GPU 工具和供应商
- graphique 用于箭头表和 parquet 数据集的 GraphQL 服务。查询 API 的模式是自动生成的。
- Graphistry: 由安全、反欺诈和相关调查团队使用的超强可视化调查平台。Graphistry 团队在其 NodeJS GPU 后端和客户端库中使用 Arrow,并且是 GOAI 和 Arrow[JS] 的早期贡献成员,专注于将这些技术引入企业。
- GreptimeDB: GreptimeDB 是一个开源时间序列数据库,特别关注可扩展性、分析能力和效率。它旨在用于云时代的基础设施,用户可以从其弹性和商品存储中受益。GreptimeDB 使用 Apache Arrow 作为内存模型,使用 Apache Parquet 作为持久文件格式。
- HASH: HASH 是一个用于构建、运行和从模拟中学习的开放核心平台,具有浏览器内 IDE。HASH Engine 使用 Apache Arrow 为计算期间的模拟状态提供数据存储支持,从而实现零拷贝数据
- Hugging Face Datasets: 一个机器学习数据集库和中心,用于访问、处理和共享用于音频、计算机视觉、自然语言处理和表格任务的数据集。数据集对象是围绕 Arrow 表的包装器,并且从磁盘内存映射以支持机器学习工作流程的离核并行处理。
- iceburst: 一个直接构建在 Amazon S3 之上的用于监控和安全的实时数据湖。我们的方法很简单:将 OpenTelemetry 数据以 Iceberg 表格式的 Parquet 文件形式摄取到 S3 存储桶中,并使用 DuckDB 查询它们,以毫秒级检索和零出站成本。Parquet 在内存中转换为 Arrow 格式,从而提高了速度和效率。
- InAccel: 一个机器学习加速框架,利用 FPGA 作为服务。InAccel 支持由 Apache Arrow 支持的 DataFrame 作为我们实现的 ML 算法的输入。通过实现共享内存通信模式,可以从 FPGA 使用单个 DMA 操作访问这些 DataFrame。
- InfluxDB IOx: InfluxDB IOx 是一个用 Rust 编写的开源时间序列数据库。它是 InfluxDB 的未来核心;支持行业标准 SQL、InfluxQL 和 Flux。IOx 使用 Apache Arrow 作为其内存格式,使用 Apache Parquet 作为其持久格式,使用 Apache Arrow Flight 作为 RPC。
- Kaskada: 一个用 Rust 编写的开源事件处理引擎,构建在 Apache Arrow 之上。
- libgdf: 一个基于 CUDA 的分析函数 C 库,以及用于结构化数据的 GPU IPC 支持。使用 Arrow IPC 格式,并在其分析函数中针对 Arrow 内存布局。这项工作是 GPU Open Analytics Initiative 的一部分。
- MATLAB: 一个面向工程师和科学家的数值计算环境。MATLAB 使用 Apache Arrow 支持读取和写入 Parquet 和 Feather 文件。
- OmniSci (以前称为 MapD): 内存列式 SQL 引擎,旨在运行在 GPU 和 CPU 上。OmniSci 支持 Arrow 用于数据摄取和通过 CUDA IPC 处理程序进行数据交换。这项工作是 GPU Open Analytics Initiative 的一部分。
- OpenObserve: 用于日志、指标和跟踪的可观察性工具,具有可视化功能,可扩展至 PB 级。高度关注可用性和简单性。支持 opentelemetry 和许多现有的日志和指标转发器。
- pandas: 用于 Python 程序员的数据分析工具包。pandas 支持使用 pyarrow 读取和写入 Parquet 文件。一些 pandas 核心开发人员也是 Apache Arrow 的贡献者。
- pantab: 允许将流行的数据帧库(如 pandas、polars、pyarrow 等)从 Tableau 的 Hyper 数据库中高效地读写。pantab 使用 nanoarrow 和 Arrow PyCapsule 接口,使这种交换过程变得无缝。
- Parseable: 为可扩展性和可用性而构建的日志分析平台。从任何地方摄取日志,并使用 Parseable 将日志统一起来。Parseable 使用 Arrow 作为日志数据摄取的中间内存数据格式。
- Perspective: Perspective 是一个 JavaScript 流数据可视化引擎,用于在浏览器中完全构建实时和用户可配置的分析。
- Petastorm: Petastorm 允许直接从 Apache Parquet 格式的数据集中进行单机或分布式训练和评估深度学习模型。Petastorm 支持流行的基于 Python 的机器学习 (ML) 框架,如 Tensorflow、Pytorch 和 PySpark。它也可以从纯 Python 代码中使用。
- Polars: Polars 是一个极快的 DataFrame 库和查询引擎,旨在有效地利用现代硬件。(例如,多线程、SIMD 向量化、隐藏内存延迟)。Polars 基于 Apache Arrow,并使用其列式内存、计算内核和一些 IO 工具。Polars 用 Rust 编写,在 Rust 和 Python 中可用。
- protarrow: 一个用于将 Apache Arrow 转换为 Protocol Buffers 并返回的 Python 库。
- Quilt Data: Quilt 是一个数据包管理器,旨在使管理数据像管理代码一样容易。它通过 pyarrow 支持 Parquet 格式以进行数据访问。
- Ray: 一个灵活、高性能的分布式执行框架,专注于机器学习和 AI 应用。使用 Arrow 有效地存储包含大量数值数据的 Python 数据结构。数据可以使用 Plasma 共享内存对象存储(起源于 Ray,现在是 Arrow 的一部分)由多个进程进行零拷贝访问。
- Red Data Tools: 一个为 Ruby 提供数据处理工具的项目。它提供了 Red Arrow,它是基于 Apache Arrow GLib 的 Apache Arrow 的 Ruby 绑定。Red Arrow 是它的核心库。它还提供许多 Ruby 库,用于将现有的 Ruby 库与 Apache Arrow 集成。它们使用 Red Arrow。
- SciDB: Paradigm4 的 SciDB 是一个可扩展的科学数据库管理系统,帮助研究人员在一个分析平台中整合和分析各种多维、高分辨率数据,例如基因组、临床、图像、传感器、环境和物联网数据。 SciDB 流 和 accelerated_io_tools 由 Apache Arrow 提供支持。
- Spice.ai OSS: 一个统一的 SQL 查询接口和可移植运行时,用 Rust 构建,用于本地化、加速和查询来自任何数据库、数据仓库或数据湖的数据集。Spice.ai OSS 在内部使用 Arrow 和 DataFusion,并支持 Flight 和 Flight SQL 连接。
- Squey: Squey 是一款开源可视化软件,旨在交互式地探索和理解大量列式数据。它使用 Apache Arrow C++ 库(带 Arrow Compute)导入和导出 Parquet 文件。
- TileDB: TileDB 是一个开源的、云优化的引擎,用于存储和访问密集/稀疏多维数组和数据帧。它是一个可嵌入的 C++ 库,可在 Linux、macOS 和 Windows 上运行,并附带大量 API 和集成。我们在 TileDB-VCF 项目中使用 Arrow 用于基因组学,以在从 Spark 和 Dask 访问 TileDB 数据时实现零拷贝。
- Turbodbc: Python 模块,用于通过 Open Database Connectivity (ODBC) 接口访问关系数据库。除了 Python 数据库 API 规范 2.0 之外,它还提供返回 Arrow 表和 RecordBatch 的功能。
- UKV: 开放的 NoSQL 二进制数据库接口,支持 LevelDB、RocksDB、UDisk 和内存中的键值存储。它扩展了它们的功能以支持文档集合、图和向量搜索,类似于 RedisJSON、RedisGraph 和 RediSearch,并在其之上带来了熟悉的结构化绑定,模仿 pandas 和 NetworkX 等工具。所有 UKV 接口都与 Apache Arrow 列式格式兼容,这在不同语言运行时之间传递数据时可以最大程度地减少复制。UKV 还使用 Apache Arrow Flight RPC 进行客户端-服务器通信。
- Vaex: 用于 Python 的 Out-of-Core 混合 Apache Arrow/NumPy DataFrame,用于 ML、可视化和探索每秒十亿行的大型表格数据。
- VAST: 用于数据驱动安全调查的网络遥测引擎。VAST 使用 Arrow 作为标准化数据平面,为下游分析提供高带宽输出路径。这使得通过 pyarrow 和其他可用绑定轻松高效地访问安全数据变得容易。