Kimball-style mart loads use two workflow actions: Dimensional Publish (draft a .hdm from .hdv) and Dimensional Update (validate, DDL, generate pipelines, orchestrate loads).

See Dimensional modeler overview for table types and canvas usage.

Dimensional Update (DIMENSIONAL_UPDATE)

Reads a dimensional model (.hdm file) and:

  • Loads the model from disk

  • Runs model.check() — Kimball validation (grains, roles, source SQL, references). Logical tables (source type None) produce warnings, not errors.

  • Skips tables whose source is None (logical) — they are contracts, not loads. If every selected table is logical, the action fails.

  • Optionally generates CREATE TABLE DDL on the target database (not for logical tables)

  • Generates per-table update pipelines using native Hop warehouse transforms

  • Stages pipelines and runs them through the parallel orchestrator

  • Cleans up the staging folder after a successful run

The action follows the same pattern as Data Vault Update and Business Vault Update.

Typical options

Option Description

Dimensional Model file

Path to .hdm. Variables supported (${PROJECT_HOME}/models/retail-warehouse.hdm).

Pipeline run configuration

Required when data load pipelines run.

Log model check failures / Abort on model check failures

Same semantics as other model update actions.

Parallel pipeline copies

Worker count for staged pipeline execution.

Update target database structure

Generate and execute CREATE TABLE DDL before loads. Also creates lookup indexes (for example date_key on d_date) and adds a missing index the next time structure update runs.

Pipeline staging folder

Optional; defaults under ${java.io.tmpdir} when empty.

Fixtures

  • integration-tests/tests/basic/update-dm-basic-star.hwf — minimal star schema

  • integration-tests/tests/basic/update-dm-extended-catalog.hwf — full Kimball catalog (pipeline/DDL focus)

  • retail-example/workflows/run-retail-initial.hwf — production-style DV + BV + DM chain

Dimensional Publish (DIMENSIONAL_PUBLISH)

Converts a Data Vault model (.hdv) into a draft dimensional model (.hdm) for human review. Does not run ETL.

Mapping rules (starting point):

  • Hub → dimension (business keys → natural keys)

  • Hub satellite → dimension attributes (SCD2 when historized)

  • Hub satellite with cross-hub FKs and measures → transaction fact

  • Link (two hubs, no measures) → bridge (configurable)

  • Link otherwise without measures → factless fact

  • Link satellite with measures → fact

Review and edit the draft in the dimensional modeler before running Dimensional Update.

GUI equivalent

From a .hdv canvas context menu: Publish draft dimensional model.

Fixture: integration-tests/tests/basic/publish-vault1-draft.hwf