Repository navigation
Requires Apache Hop 2.20.0-SNAPSHOT and Java 21.
Downloads: GitHub release zip · Data Hopper Nexus (org.hopper:hopper-edw:0.16.0)
Dimensional model service (issue #223)
- A Dimensional model service publishes a
.hdmas a JDBC schema on the existing Hop Server virtual database (jdbc:hop-hsm:), next to each Source model service. Facts, dimensions, bridges, junk dimensions, and conformed aliases are tables.SELECTis pushed to the dimensional warehouse.SELECT *returns modeled columns.getImportedKeysexposes fact-to-dimension roles, including two roles against one date dimension. The in-process driver (jdbc:hop-hsm:embeddedandjdbc:hop-hsm:service=<name>) lists and queries those schemas as well, with the same masking and audit behavior. - A schema-qualified query such as
SELECT * FROM f_orders.d_customerruns on that service even when the open connection's default schema is a different source or dimensional service. Hop's database explorer preview uses that form. A bare table name stays on the connection schema. - A Masking pattern on a dimension attribute, natural key, measure, or degenerate dimension is applied with Mask fields before the rows leave the server. Safe (the default) allows that column only as a bare select item and rejects filters, joins, grouping, ordering, and expressions on it. Display pushes the statement down and masks the result cells. Preview masked rows shows that projection in Hop.
- Audit queries writes one row per attempt, including rejected statements, to
edw_dimensional_query_audit. The editor button creates the table. Literals in the logged SQL are redacted unless verbatim storage is turned on. When auditing is enabled and the insert fails, the client receives no rows. Allowed users limits the schema to named Hop Server users. - The architecture poster adds Hop JDBC clients above Hopper presentations, with a Masking arrow from the dimensional model. The component explorer card explains the service, the Safe and Display policies, and the audit table. The EDW Journey poster uses the same drawing. The explorer is on the Start here table of the shipped documentation, so Help → EDW documentation opens it.
Lineage view cards (issue #217)
- Lineage cards have rounder corners and a logo for the job or the table type (hub, link, satellite, dimension, fact, source, and the other modeled types). A dataset with no table type of its own uses the producing job's type when the names match, so Open model is available on that card. A chevron on the card compacts it to the logo. Collapse all and Expand all on the toolbar do that for every node. Those choices are kept for the session and are not written into the
.hlv. - Clicking a node name refreshes the details pane for every card. Clicking the icon or the rest of the card opens the same action dialog: Open model, Open table or Open source, Open in catalog, Preview rows, and Show update pipeline when that action applies to the node. A job and the dataset it writes share those actions. The dialog does not call Marquez on the click. A dataset borrows the writing job's
hop_exportfrom the graph already on screen. Job facets that were missing are read once, in the background, from the run id that came with the graph. A click does not download the dataset document.
Crosstab dimension values (issue #222)
- A crosstab can omit dimension combinations that have no data. Only available dimension values? on the crosstab component drops a row such as 2025-03 when that month has no facts, even if March exists for another year. The same rule applies to columns. Presentations from the semantic layer and the fact crosstab editor turn the option on. A hand-authored crosstab keeps the full grid until the option is checked.
Resource definition validation
- Validate sources compares a satellite attribute that has no length using the source card's data type mapping. A pipeline String with no length that
premodel-defaultsmaps to 2000 is not a blocking narrower-than-catalog error. An explicit shorter attribute length still is.
Semantic layer presentations (issue #221)
- Dimension and fact columns in the crosstab editor have horizontal and vertical alignment lists. Facts keep an editable aggregation list (
SUM,COUNT, orAVERAGE) and a Totals choice. Swap dimensions exchanges the horizontal and vertical lists. The same alignment, aggregation, and totals choices are edited on each attribute and measure in the semantic layer and stored on a saved selection. - Groups stays optional. With no group fields the page is one crosstab or one table. With group fields, that component repeats once per group value.
- When either axis is empty, Show draws a table of the group fields, the selected dimensions, and the facts. Both axes still draw a crosstab. A table average is SQL
AVG. A crosstab average stays a sum plus a weight count so the pivot can roll up. - Crosstab axes, table columns, and group labels use the semantic-layer format mask. A date such as
full_datewith maskyyyy-MM-ddis formatted in the query (to_char/DATE_FORMAT/FORMAT/TO_VARCHAR), so the group label and the nested crosstab see the same text. - The crosstab editor has a Page format list under the totals checkboxes. Choose Landscape (the default) or Portrait. The choice is stored with a saved selection.
- Create presentation... opens an empty crosstab. The semantic layer tree has a toolbar to create, open, delete, and rename selections. Double-click a selection to open it. Open, delete, and rename are enabled only when a selection is selected.
- The crosstab editor shows the selection name at the top. Save, save as, and rename are toolbar icons. Save keeps the current name. The bottom Save selection button is gone.
- Show leaves the crosstab editor open. Closing the presentation viewer returns to that editor.
- Source columns and tables can be dragged onto the four crosstab zones. Double-click a source table to expand or collapse its columns.
Configuration perspective label (issue #220)
- The Hop configuration perspective tab is Hopper EDW. It was labeled Data Vault 2.0.
Component explorer in the documentation (issue #219)
- The generated documentation index lists the component explorer. The HTML page already ships under
presentations/in the plugin docs.
Documentation icon (issue #218)
- Generated HTML pages and the component explorer use the EDW logo as the browser tab icon.
Model metrics panel (issue #216)
- Configuration → Hopper EDW → Load runs shown in the model metrics panel sets how many recent executions that panel lists. The default stays 20.
Target type mapping editor (issue #215)
- The Rules table packs each column to its header and cell text when the editor opens.
Source model save (issue #214)
- Saving an open source model writes the current file. Undo keeps the file path on source, dimensional, execution map, and lineage documents, so Save does not ask for a filename again.