使用“Apache Arrow”的项目和产品名称

创建与 Apache Arrow 配合使用的产品和项目的组织,以及相关的营销材料,应注意尊重“Apache Arrow”及其徽标的商标。请参阅 ASF 商标指南 和相关的 常见问题解答,以获取有关正确使用 ASF 商标的全面和权威指南。

名称中完全不包含“Apache Arrow”的项目不存在与 Apache Arrow 项目的潜在商标问题。建议使用这种命名方式。

诸如“Apache Arrow BigCoProduct”之类的名称是不允许的,一般情况下包含“Apache Arrow”的名称也是如此。但是,上述链接描述了一些例外情况,例如“BigCoProduct,技术支持:Apache Arrow”或“BigCoProduct for Apache Arrow”之类的名称。

创建诸如“arrow-foo”之类的软件标识符(Maven 坐标、模块名称等)是常见的做法,这些是被允许的。在描述中对商标进行指称性使用也是始终允许的,例如“BigCoProduct 是 Apache Arrow 的一个小部件”。

想要包含 Apache Arrow 徽标的项目和文档应使用官方徽标,并遵守视觉识别页面上列出的准则。

基于 Apache Arrow 的项目

要将您自己添加到列表中,请打开一个 拉取请求,添加您的组织名称、URL、您正在使用的 Arrow 组件列表,以及您的用例的简短描述。

  • Apache Parquet: 一种列式存储格式,可用于 Hadoop 生态系统中的任何项目,无论选择何种数据处理框架、数据模型或编程语言。C++ 和 Java 实现提供与 Arrow 数据结构之间的矢量化读写。
  • Apache Spark: Apache Spark™ 是一款快速通用的引擎,用于大规模数据处理。Spark 使用 Apache Arrow 来
    1. 提高 Spark DataFrame 和 pandas DataFrame 之间转换的性能
    2. 在 PySpark 中启用一组矢量化用户定义函数(pandas_udf)。
  • ArcPy: ArcPy 是 Esri 的 comprehensive and powerful 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 内存格式的工具和框架集成的框架。Fletcher 从一组 Arrow 模式生成高度优化的硬件结构,允许加速器内核通过易于使用的接口以系统带宽读取和写入 RecordBatches。
  • GeoMesa: 一套工具,支持在分布式计算系统上进行大规模地理空间查询和分析。GeoMesa 支持 Arrow IPC 格式的查询结果,然后可以将其用于浏览器内可视化和/或进一步分析。
  • GOAI: GPU 开放分析计划,用于跨 GPU 工具和供应商的 Arrow 驱动的分析。
  • graphique Arrow 表和 Parquet 数据集的 GraphQL 服务。查询 API 的模式是自动派生的。
  • Graphistry: 超级可视化调查平台,供团队进行安全、反欺诈和相关调查。Graphistry 团队在其 NodeJS GPU 后端和客户端库中使用 Arrow,并且是 GOAI 和 Arrow[JS] 的早期贡献成员,致力于将这些技术引入企业。
  • GreptimeDB: GreptimeDB 是一个开源时间序列数据库,特别关注可扩展性、分析能力和效率。它旨在在云时代的基建设施上运行,用户可以从其弹性和商品存储中受益。GreptimeDB 使用 Apache Arrow 作为内存模型,使用 Apache Parquet 作为持久文件格式。
  • HASH: HASH 是一个用于构建、运行和学习模拟的开源平台,具有浏览器内 IDE。HASH 引擎使用 Apache Arrow 为计算期间的模拟状态提供数据存储,实现零拷贝数据。
  • Hugging Face Datasets: 一个机器学习数据集库和中心,用于访问、处理和共享音频、计算机视觉、自然语言处理和表格任务的数据集。数据集对象是 Arrow 表的包装器,并从磁盘进行内存映射,以支持机器学习工作流的核外并行处理。
  • iceburst: 直接构建在 Amazon S3 之上的用于监控和安全的实时数据湖。我们的方法很简单:将 OpenTelemetry 数据作为 Parquet 文件以 Iceberg 表格式摄取到 S3 存储桶中,并使用 DuckDB 查询它们,检索速度为毫秒级,且 egress 成本为零。Parquet 在内存中转换为 Arrow 格式,提高了速度和效率。
  • InAccel: 一个利用 FPGA 即服务的机器学习加速框架。InAccel 支持由 Apache Arrow 支持的数据帧作为我们实现的 ML 算法的输入。通过实现共享内存通信模式,可以通过单个 DMA 操作从 FPGA 访问这些数据帧。
  • 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 开放分析计划 的一部分。
  • MATLAB: 一个面向工程师和科学家的数值计算环境。MATLAB 使用 Apache Arrow 支持读取和写入 Parquet 和 Feather 文件。
  • OmniSci (formerly MapD): 内存列式 SQL 引擎,旨在在 GPU 和 CPU 上运行。OmniSci 支持 Arrow 通过 CUDA IPC 句柄进行数据摄取和数据交换。这项工作是 GPU 开放分析计划 的一部分。
  • 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 作为日志数据摄取的中间内存数据格式。
  • PerspectivePerspective 是一个 JavaScript 流数据可视化引擎,用于完全在浏览器中构建实时和用户可配置的分析。
  • PetastormPetastorm 支持直接从 Apache Parquet 格式的数据集中进行单机或分布式深度学习模型的训练和评估。Petastorm 支持流行的基于 Python 的机器学习 (ML) 框架,如 Tensorflow、Pytorch 和 PySpark。它也可以从纯 Python 代码中使用。
  • PolarsPolars 是一个极其快速的数据帧库和查询引擎,旨在高效利用现代硬件(例如多线程、SIMD 向量化、隐藏内存延迟)。Polars 建立在 Apache Arrow 之上,并使用其列式内存、计算内核和多个 IO 实用程序。Polars 使用 Rust 编写,并以 Rust 和 Python 提供。
  • protarrow一个用于在 Apache Arrow 和 Protocol Buffers 之间进行转换的 Python 库。
  • Quilt DataQuilt 是一个数据包管理器,旨在使管理数据像管理代码一样简单。它通过 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。
  • SciDBParadigm4 的 SciDB 是一个可扩展的科学数据库管理系统,可帮助研究人员在一个分析平台中集成和分析各种多维、高分辨率数据,如基因组、临床、图像、传感器、环境和物联网数据。SciDB streamingaccelerated_io_tools 由 Apache Arrow 提供支持。
  • Spice.ai OSS一个使用 Rust 构建的统一 SQL 查询接口和可移植运行时,用于在本地实现、加速和查询来自任何数据库、数据仓库或数据湖的数据集。Spice.ai OSS 在内部使用 Arrow 和 DataFusion,并支持 Flight 和 Flight SQL 连接。
  • SqueySquey 是一款开源可视化软件,旨在交互式地探索和理解大量的列式数据。它使用 Apache Arrow C++ 库(以及 Arrow Compute)来导入和导出 Parquet 文件。
  • TileDBTileDB 是一个开源的、云优化的引擎,用于存储和访问密集/稀疏多维数组和数据帧。它是一个可嵌入的 C++ 库,可在 Linux、macOS 和 Windows 上运行,并附带许多 API 和集成。我们在TileDB-VCF基因组学项目中使用 Arrow,以便在从 Spark 和 Dask 访问 TileDB 数据时实现零拷贝。
  • Turbodbc一个通过开放数据库连接 (ODBC) 接口访问关系数据库的 Python 模块。除了 Python 数据库 API 规范 2.0 之外,它还提供了返回 Arrow 表和 RecordBatches 的功能。
  • UKV开源 NoSQL 二进制数据库接口,支持 LevelDB、RocksDB、UDisk 和内存键值存储。它扩展了其功能以支持文档集合、图形和向量搜索,类似于 RedisJSON、RedisGraph 和 RediSearch,并在其上带来了熟悉的结构化绑定,模仿 pandas 和 NetworkX 等工具。所有 UKV 接口都与 Apache Arrow 列式格式兼容,这最大限度地减少了在不同语言运行时之间传递数据时的拷贝。UKV 还使用 Apache Arrow Flight RPC 进行客户端-服务器通信。
  • Vaex用于 Python 的核外混合 Apache Arrow/NumPy DataFrame,以每秒十亿行的速度进行机器学习、可视化和探索大型表格数据。
  • VAST一个用于数据驱动安全调查的网络遥测引擎。VAST 使用 Arrow 作为标准化数据平面,为下游分析提供高带宽输出路径。这使得通过 pyarrow 和其他可用绑定访问安全数据变得简单高效。