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