使用“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 是一个适用于 Apache Arrow 的小工具”。
希望包含 Apache Arrow 徽标的项目和文档应使用官方徽标,并遵守 视觉识别页面上列出的准则
由 Apache Arrow 驱动的项目
要将您添加到列表中,请打开一个 pull request,添加您的组织名称、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 用于在 ArcGIS 产品套件内工作以执行和自动化空间分析、数据管理和转换任务的全面且强大的 API(需要许可证)。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:一个开源的高性能分布式数据处理库,可以与现有的大数据和 AI/ML 框架无缝集成。Cylon 使用 Arrow 内存格式,并向 C++、Java 和 Python 公开语言绑定。
- DACP:数据访问与协作协议 (DACP) 是一种通信协议,旨在支持科学和分布式计算环境中跨节点、跨进程的数据访问。DACP 通过 Apache Arrow Flight 协议提供标准化的基于流的数据交互,并定义了一个统一的流式 DataFrame (SDF) 模型,该模型作为访问和处理结构化和非结构化数据的高性能抽象。
- 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。
- FlexPro:一个用于测量数据分析和演示的工具。FlexPro 使用 Apache Arrow 来支持 Parquet 文件的读写。
- GeoMesa:一套工具,支持在分布式计算系统上进行大规模地理空间查询和分析。GeoMesa 支持以 Arrow IPC 格式返回查询结果,然后可用于浏览器内可视化和/或进一步分析。
- GOAI:开放的 GPU 加速分析倡议,用于跨 GPU 工具和供应商的 Arrow 驱动的分析
- graphique GraphQL 服务,用于 arrow 表和 parquet 数据集。查询 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:一个机器学习数据集库和中心,用于访问、处理和共享用于音频、计算机视觉、自然语言处理和表格任务的数据集。Dataset 对象是 Arrow 表的包装器,并从磁盘内存映射,以支持机器学习工作流程的核外并行处理。
- iceburst:一个实时数据湖,直接构建在 Amazon S3 之上,用于监控和安全。我们的方法很简单:将 OpenTelemetry 数据作为 Iceberg 表格式的 Parquet 文件摄取到 S3 存储桶中,并使用 DuckDB 进行查询,实现毫秒级检索和零出口成本。Parquet 在内存中转换为 Arrow 格式,提高了速度和效率。
- InAccel:一种利用 FPGA 即服务进行机器学习加速的框架。InAccel 支持由 Apache Arrow 支持的 DataFrame 作为我们实现的 ML 算法的输入。通过实现共享内存通信模式,可以通过单个 DMA 操作从 FPGA 访问这些 DataFrame。
- InfluxDB IOx:InfluxDB IOx 是一个用 Rust 编写的开源时间序列数据库。它是 InfluxDB 的未来核心;支持行业标准的 SQL、InfluxQL 和 Flux。IOx 使用 Apache Arrow 作为其内存格式,Apache Parquet 作为其持久化格式,并使用 Apache Arrow Flight 进行 RPC。
- Kaskada:一个用 Rust 编写的开源事件处理引擎,构建在 Apache Arrow 之上。
- libgdf:一个 C 库,包含基于 CUDA 的分析函数和结构化数据的 GPU IPC 支持。在分析函数中使用 Arrow IPC 格式并以 Arrow 内存布局为目标。这项工作是 GPU Open Analytics Initiative 的一部分
- MATLAB:一个用于工程师和科学家的数值计算环境。MATLAB 使用 Apache Arrow 来支持 Parquet 和 Feather 文件的读写。
- OmniSci(以前称为 MapD):内存中列式 SQL 引擎,设计用于在 GPU 和 CPU 上运行。OmniSci 通过 CUDA IPC 句柄支持 Arrow 进行数据摄取和数据交换。这项工作是 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 是一个闪电般快速的数据框库和查询引擎,旨在有效利用现代硬件。(例如多线程、SIMD 矢量化、隐藏内存延迟)。Polars 构建在 Apache Arrow 之上,并使用其列式内存、计算内核和多个 IO 实用程序。Polars 用 Rust 编写,并以 Rust 和 Python 两种语言提供。
- protarrow:一个用于从 Apache Arrow 转换为 Protocol Buffers 及其反向转换的 Python 库。
- Quilt Data:Quilt 是一个数据包管理器,旨在使数据管理像管理代码一样简单。它通过 pyarrow 支持 Parquet 格式以进行数据访问。
- Ray:一个灵活、高性能的分布式执行框架,专注于机器学习和人工智能应用。使用 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 streaming 和 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:通过开放数据库连接 (ODBC) 接口访问关系数据库的 Python 模块。除了 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 的核外混合 Apache Arrow/NumPy 数据框,可实现每秒十亿行的表格数据的大规模 ML、可视化和探索。
- VAST:一个网络遥测引擎,用于数据驱动的安全调查。VAST 使用 Arrow 作为标准化数据平面,为下游分析提供高带宽输出路径。这使得通过 pyarrow 和其他可用绑定轻松高效地访问安全数据变得容易。