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

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

完全不包含“Apache Arrow”的名称与 Apache Arrow 项目没有潜在的商标问题。这是推荐的做法。

像“Apache Arrow BigCoProduct”这样的名称是不可以的,一般来说包含“Apache Arrow”的名称也不可以。然而,上面的链接描述了一些例外情况,例如“BigCoProduct, powered by Apache Arrow”或“BigCoProduct for Apache Arrow”等名称。

创建软件标识符(Maven 坐标、模块名称等)如“arrow-foo”是常见的做法。这些是被允许的。商标在描述中的指名使用也是始终允许的,例如“BigCoProduct is a widget for 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 全面强大的 API,用于在 ArcGIS 产品套件中执行和自动化空间分析、数据管理和转换任务(需要许可)。ArcPy 支持 Arrow Tables 作为输入和输出。
  • AWS Data Wrangler: 扩展了 Pandas 库的功能到 AWS,连接 DataFrames 和 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: 一个开源的高性能分布式数据处理库,可以与现有的大数据和 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 数据文件及 schema。
  • 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 Schemas 生成高度优化的硬件结构,使加速器内核能够通过易于使用的接口以系统带宽读写 RecordBatches。
  • GeoMesa: 一套工具,可在分布式计算系统上进行大规模地理空间查询和分析。GeoMesa 支持 Arrow IPC 格式的查询结果,然后可用于浏览器内的可视化和/或进一步分析。
  • GOAI: 开放 GPU 加速分析倡议,用于跨 GPU 工具和供应商的 Arrow 驱动分析。
  • graphique 用于 arrow tables 和 parquet 数据集的 GraphQL 服务。查询 API 的 schema 会自动生成。
  • 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: 一个用于访问、处理和共享音频、计算机视觉、自然语言处理和表格任务数据集的机器学习数据集库和中心。Dataset 对象是 Arrow Tables 的包装器,并从磁盘进行内存映射,以支持机器学习工作流的核外并行处理。
  • iceburst: 一个直接构建在 Amazon S3 之上的用于监控和安全的实时数据湖。我们的方法很简单:将 OpenTelemetry 数据以 Iceberg 表格式的 Parquet 文件形式摄取到 S3 存储桶中,并使用 DuckDB 查询它们,实现毫秒级检索和零出口成本。Parquet 在内存中转换为 Arrow 格式,提高了速度和效率。
  • InAccel: 一个利用 FPGA 即服务 的机器学习加速框架。InAccel 支持由 Apache Arrow 支持的 dataframes,作为我们实现的 ML 算法的输入。通过实现共享内存通信 schema,可以通过单一 DMA 操作从 FPGA 访问这些 dataframes。
  • InfluxDB IOx: InfluxDB IOx 是一个用 Rust 编写的开源时序数据库。它是 InfluxDB 未来的核心;支持行业标准的 SQL、InfluxQL 和 Flux。IOx 使用 Apache Arrow 作为其内存格式,Apache Parquet 作为其持久化格式,并使用 Apache Arrow Flight 进行 RPC。
  • Kaskada: 一个用 Rust 编写、基于 Apache Arrow 构建的开源事件处理引擎。
  • libgdf: 一个 CUDA 加速的分析函数和 GPU IPC 支持结构化数据的 C 库。它使用 Arrow IPC 格式,并在其分析函数中针对 Arrow 内存布局。这项工作是 GPU 开放分析倡议的一部分。
  • MATLAB: 一个面向工程师和科学家的数值计算环境。MATLAB 使用 Apache Arrow 支持读写 Parquet 和 Feather 文件。
  • OmniSci (前称 MapD): 设计用于在 GPU 和 CPU 上运行的内存中列式 SQL 引擎。OmniSci 支持通过 CUDA IPC 句柄进行数据摄取和数据交换。这项工作是 GPU 开放分析倡议的一部分。
  • OpenObserve: 用于日志、指标和跟踪的可观测性工具,具备可视化功能,可扩展至 PB 级别。高度注重可用性和简洁性。支持 opentelemetry 和许多现有的日志和指标转发器。
  • pandas: 面向 Python 程序员的数据分析工具包。pandas 支持使用 pyarrow 读写 Parquet 文件。几位 pandas 核心开发者也是 Apache Arrow 的贡献者。
  • pantab: 允许高性能读写流行的 dataframe 库(如 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 构建,并使用其列式内存、计算内核和多种 I/O 工具。Polars 用 Rust 编写,并提供 Rust 和 Python 接口。
  • protarrow: 一个用于在 Apache Arrow 和 Protocol Buffers 之间进行相互转换的 Python 库。
  • Quilt Data: Quilt 是一个数据包管理器,旨在让数据管理像代码管理一样轻松。它通过 pyarrow 支持 Parquet 格式的数据访问。
  • Ray: 一个灵活、高性能的分布式执行框架,专注于机器学习和 AI 应用。使用 Arrow 高效存储包含大型数值数组的 Python 数据结构。多个进程可以使用 Plasma 共享内存对象存储实现零拷贝访问数据,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 streamingaccelerated_io_tools 由 Apache Arrow 提供支持。
  • Spice.ai OSS: 一个统一的 SQL 查询接口和便携式运行时,用 Rust 构建,用于从任何数据库、数据仓库或数据湖本地物化、加速和查询数据集。Spice.ai OSS 在内部与 DataFusion 一起使用 Arrow,并支持 Flight 和 Flight SQL 连接。
  • Squey: Squey 是一个开源的可视化软件,旨在交互式探索和理解大量列式数据。它使用 Apache Arrow C++ 库(带有 Arrow Compute)导入和导出 Parquet 文件。
  • TileDB: TileDB 是一个开源的、云优化的引擎,用于存储和访问稠密/稀疏多维数组和 dataframe。它是一个可嵌入的 C++ 库,可在 Linux、macOS 和 Windows 上工作,并提供众多 API 和集成。我们在用于基因组学的 TileDB-VCF 项目中使用了 Arrow,以实现在从 Spark 和 Dask 访问 TileDB 数据时的零拷贝。
  • Turbodbc: 一个 Python 模块,通过 Open Database Connectivity (ODBC) 接口访问关系数据库。除了 Python 数据库 API 规范 2.0 之外,它还提供了返回 Arrow Tables 和 RecordBatches 的功能。
  • UKV: 开放的 NoSQL 二进制数据库接口,支持 LevelDB、RocksDB、UDisk 和内存 Key-Value 存储。它扩展了它们的功能,支持文档集合、图和向量搜索,类似于 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 和其他可用绑定轻松高效地访问安全数据成为可能。