You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 1.4 kB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
123456789101112131415161718192021222324252627282930313233
  1. # Dora C++ Dataflow Example 2
  2. This example demonstrates how to exchange data between Dora's Rust-based runtime and C++ using Apache Arrow arrays. Through the event_as_arrow_input() and send_arrow_output() functions exposed in the dora-node-api.h header, your C++ nodes can efficiently receive and send structured data within the Dora dataflow system. These functions leverage Apache Arrow's memory-efficient serialization format, allowing data to move seamlessly across language boundaries.
  3. ## Required System Dependencies
  4. - **Apache Arrow C++ Library**: Version 19.0.1 or later
  5. Installing it should look like this:
  6. ### For Ubuntu
  7. ```bash
  8. sudo apt-get update
  9. sudo apt-get install -y -V ca-certificates lsb-release wget
  10. wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
  11. sudo apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
  12. sudo apt-get update
  13. sudo apt-get install -y -V libarrow-dev libarrow-glib-dev
  14. ```
  15. ### For macOS
  16. ```bash
  17. brew update
  18. brew install apache-arrow
  19. fi
  20. ```
  21. ## Compile and Run
  22. To try it out, you can use the [`run.rs`](./run.rs) binary. It performs all required build steps and then starts the dataflow. Use the following command to run it: `cargo run --example cxx-arow-dataflow`. For manual build, check build system for
  23. `cxx-dataflow` example.