databuild/examples/basic_graph
2025-04-17 17:27:55 -07:00
..
.bazelrc Add sum job 2025-04-17 17:27:55 -07:00
BUILD.bazel Add sum job 2025-04-17 17:27:55 -07:00
GenerateConfigure.java Add sum job 2025-04-17 17:27:55 -07:00
GenerateExecute.java Add sum job 2025-04-17 17:27:55 -07:00
MODULE.bazel Switch to java for basic graph impl 2025-04-17 16:50:13 -07:00
MODULE.bazel.lock implement bash based job for number gen 2025-04-17 16:27:09 -07:00
README.md implement bash based job for number gen 2025-04-17 16:27:09 -07:00
SumConfigure.java Add sum job 2025-04-17 17:27:55 -07:00
SumExecute.java Add sum job 2025-04-17 17:27:55 -07:00

Basic Graph - Random Number Generator

This example demonstrates a databuild_job that generates a random number seeded based on the partition ref.

Configure

$ bazel run //:generate_number_job.cfg test_output
{"outputs":["test_output"],"inputs":[],"args":["test_output"],"env":{}}

Execute

Generates a random number based on the hash of the partition ref and writes it to the output file.

$ bazel run //:generate_number_job.cfg test_output | bazel run //:generate_number_job

This will generate a random number for the partition "test_output" and write it to a file named "test_output".

You can verify that the random number is stable for the same partition ref by running the command multiple times:

$ bazel run //:generate_number_job.cfg test_output1 | bazel run //:generate_number_job
$ bazel run //:generate_number_job.cfg test_output1 | bazel run //:generate_number_job

And you can verify that different partition refs produce different random numbers:

$ bazel run //:generate_number_job.cfg test_output1 | bazel run //:generate_number_job
$ bazel run //:generate_number_job.cfg test_output2 | bazel run //:generate_number_job