ballista-compute / ballista
- среда, 20 января 2021 г. в 00:26:26
Rust
Distributed compute platform implemented in Rust, using Apache Arrow memory model.
Ballista is a proof-of-concept distributed compute platform primarily implemented in Rust, using Apache Arrow as the memory model. It is built on an architecture that allows other programming languages to be supported as first-class citizens without paying a penalty for serialization costs.
With the release of Apache Arrow 3.0.0 there are many breaking changes in the Rust implementation and as a result it has been necessary to comment out much of the code in this repository and gradually get each Rust module working again with the 3.0.0 release.
For the latest stable version of Ballista, see branch-0.3.
The foundational technologies in Ballista are:
Ballista can be deployed in Kubernetes, or as a standalone cluster using etcd for discovery.
The following diagram highlights some of the integrations that will be possible with this unique architecture. Note that not all components shown here are available yet.
Although Ballista is largely inspired by Apache Spark, there are some key differences.
The following examples should help illustrate the current capabilities of Ballista
Ballista releases are now available on crates.io, Maven Central and Docker Hub. Please refer to the user guide for instructions on using a released version of Ballista.
The user guide is hosted at https://ballistacompute.org, along with the blog where news and release notes are posted.
Developer documentation can be found in the docs directory.
See CONTRIBUTING.md for information on contributing to this project.