run-unbound

Run an unbound expression by streaming Arrow IPC input.

Executes a built expression after replacing one of its nodes with record batches streamed in over Arrow IPC—useful for piping data between expressions without standing up a Flight server. If neither --to-unbind-hash nor --to-unbind-tag is supplied, the node is inferred from graph analysis; supply one for determinism.

Usage

xorq run-unbound BUILD_PATH [OPTIONS]

Arguments

  • BUILD_PATH—Path to the build directory produced by xorq build.

Options

Option Default Description
--to-unbind-hash inferred Hash of the node to unbind.
--to-unbind-tag inferred Tag of the node to unbind (alternative to –to-unbind-hash).
--typ none Type of the node to unbind.
-o, --output-path stdout (arrow) / discard (other) Path to write output. Use ‘-’ for stdout.
-f, --format parquet Output format.
--limit unlimited Maximum number of rows to output.
--batch-size table default Batch size for Arrow streaming output.
--cache-dir $XORQ_CACHE_DIR or ~/.cache/xorq Directory for parquet cache files.
-i, --instream stdin Stream to read Arrow IPC record batches from.

Examples

# Stream input from a file
xorq run-unbound builds/transform --to-unbind-tag source_input -i input.arrow -o results.parquet
# Pipe arrow output from one expression into another
xorq run builds/source -o - -f arrow | xorq run-unbound builds/transform --to-unbind-tag source_input -o results.parquet

See also

  • serve-unbound—serve the same unbound expression as a Flight endpoint
  • uv run-unbound—same semantics, inside a uv-managed environment