Skip to content

adamhass/arcon

 
 

Repository files navigation

Arcon

A runtime for writing real-time analytics applications in the Rust programming language.

ci License

Project Status

Arcon is in development and should be considered experimental until further notice.

Rust Version

Arcon builds against the latest stable release and the current MSRV is 1.53.0.

Roadmap

See the roadmap here

Highlights

  • Arrow-native
  • Hybrid Row(Protobuf) / Columnar (Arrow) System
  • Dynamic & Scalable Middleware
  • Flexible State Management
    • Backend per Operator (e.g., RocksDB, Sled)
    • Eager and Lazy state indexes

Vision

Example

use arcon::prelude::*;

fn main() {
    let mut app = Application::default()
        .iterator(0u64..100, |conf| {
            conf.set_arcon_time(ArconTime::Event);
            conf.set_timestamp_extractor(|x: &u64| *x);
        })
        .filter(|x| *x > 50)
        .to_console()
        .build();

    app.start();
    app.await_termination();
}

More examples can be found here.

Project Layout

Acknowledgements

Arcon is influenced by many great projects whether it is implementation, code practices or project structure:

License

This project is licensed under the Apache-2.0 license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Arcon by you shall be licensed as Apache-2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.6%
  • Other 0.4%