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 贡献者和维护者互动的其他方式的信息。