union

Union two-or-more build artifacts into a new build artifact.

Loads all builds, unions them (they must share an identical schema), and writes the result as a new build artifact.

Usage

xorq union [PATHS]... [OPTIONS]

Arguments

  • PATHS—Two or more build directory paths to union.

Options

Option Default Description
--distinct off Deduplicate rows (default is union-all).
--builds-dir builds Directory for the generated build artifact.
--cache-dir $XORQ_CACHE_DIR or ~/.cache/xorq Directory for parquet cache files.
--relocate-reads / --no-relocate-reads --relocate-reads Bundle local-file Read nodes into the build so it is self-contained and runnable from anywhere. Remote reads (s3://, gs://, …) are already location-independent and left in place. Pass –no-relocate-reads for a lean, machine-local build; this only affects reads not already bundled – relocation discards a read’s original path, so it cannot be undone by a later –no-relocate-reads on an already-relocated input.
--ignore-library-version-mismatch off Proceed even if the builds recorded different xorq library versions.
--rebind-backends / --no-rebind-backends --rebind-backends In multi-root mode, rebind same-profile backend sources to one backend before execution. Never transfers table data.
--emit-build-path-to none Write the resulting build directory path to this file. Use when stdout may be polluted (for example by OTel console fallback) and a subprocess consumer needs the path unambiguously.

Examples

# Union-all (the default) two builds
xorq union builds/a builds/b
# Deduplicate rows across three builds
xorq union builds/a builds/b builds/c --distinct