Ballista:Apache Arrow 的分布式调度器


已发布 2021 年 4 月 12 日
作者 Andy Grove (agrove)

我们很高兴地宣布,Ballista 已捐赠给 Apache Arrow 项目。

Ballista 是一个主要使用 Rust 实现的分布式计算平台,由 Apache Arrow 提供支持。它基于一种架构构建,允许其他编程语言(例如 Python、C++ 和 Java)作为一等公民得到支持,而无需支付序列化成本。

Ballista 的基础技术是

Ballista 可以作为独立集群部署,也支持 Kubernetes。在任何一种情况下,都可以将调度器配置为使用 etcd 作为后备存储,以便在调度器发生故障时(最终)提供冗余。

状态

Ballista 项目处于早期开发阶段。但是,它能够在分布式集群中以合理的性能(与更成熟的分布式查询框架相当)运行复杂的分析查询。

Ballista 成为 Arrow 代码库的一部分带来的好处之一是,现在有机会将调度器的部分功能下推到 DataFusion,从而可以使用相同的统一查询调度器在 DataFusion 中跨核心以及在 Ballista 中跨节点无缝扩展。

欢迎贡献者!

如果您对能够使用 Rust 进行分布式计算和 ETL 感到兴奋,并希望为此做出贡献,那么有很多方法可以参与进来。最简单的入门方法是针对您自己的数据集试用 Ballista,并针对您发现的任何问题提交错误报告。您还可以查看当前的 问题列表 并尝试解决其中一个。

Rust README 的 Arrow Rust 社区 部分提供了与 Ballista 贡献者和维护者进行交互的其他方式的信息。