{"id":431,"date":"2025-05-04T15:47:13","date_gmt":"2025-05-04T15:47:13","guid":{"rendered":"https:\/\/oberle-it-beratung.de\/?p=431"},"modified":"2025-05-04T15:47:13","modified_gmt":"2025-05-04T15:47:13","slug":"dv2gen-maven-plugin-2","status":"publish","type":"post","link":"https:\/\/www.elrebo.de\/index.php\/2025\/05\/04\/dv2gen-maven-plugin-2\/","title":{"rendered":"dv2gen-maven-plugin"},"content":{"rendered":"\n<p>Ein Maven-Plugin um ein DataVault2.0-DataWarehouse aus einer XML-Konfiguration zu erzeugen. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Motivation<a href=\"https:\/\/github.com\/ChristophOberle\/dv2gen-maven-plugin#motivation\"><\/a><\/h2>\n\n\n\n<p>Ein Data Vault 2.0 Data Warehouse besteht aus vielen Datenbankartefakten, die auf konsistente Art definiert sein m\u00fcssen. Au\u00dferdem m\u00fcssen die Skripte zum Laden der Daten automatisiert werden.<\/p>\n\n\n\n<p>Eine M\u00f6glichkeit diese Ziele zu erreichen ist es, dbt als Datenbank-Tool zu verwenden und AutomateDV um die Artefakte zu beschreiben.<\/p>\n\n\n\n<p>dbt Core ist ein Open-Source-Tool zur Transformation von Daten.<\/p>\n\n\n\n<p>AutomateDV ist eine dbt-Package, die die Skripte bereitstellt, die f\u00fcr ein DataVault2.0-DataWarehouse ben\u00f6tigt werden.<\/p>\n\n\n\n<p>Aber auch mit diesem Toolset gibt es noch eine Menge an Redundanz bei der Beschreibung der Artefakte.<\/p>\n\n\n\n<p>Mit dv2gen-maven-plugin beschreibt man das DataWarehouse in einer XML-Konfiguration und benutzt das Plugin um alle ben\u00f6tigten Artefakte zur Definition und zum Betrieb des DataWarehouse zu generieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Abh\u00e4ngigkeiten<a href=\"https:\/\/github.com\/ChristophOberle\/dv2gen-maven-plugin#dependencies\"><\/a><\/h2>\n\n\n\n<p>dv2gen-maven-plugin nutzt Saxon um die DataWarehouse-Skripte zu generieren.<\/p>\n\n\n\n<p>Die generierten DataWarehouse-Skripte nutzen<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Postgres<\/li>\n\n\n\n<li>dbt<\/li>\n\n\n\n<li>AutomateDV<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Features<a href=\"https:\/\/github.com\/ChristophOberle\/dv2gen-maven-plugin#features\"><\/a><\/h2>\n\n\n\n<p>Das Plugin verwendet die XML-Konfiguration und generiert Definitionen f\u00fcr<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>DB-Skripte zum Laden der Daten aus CSV-Dateien<\/li>\n\n\n\n<li>Hubs<\/li>\n\n\n\n<li>Links<\/li>\n\n\n\n<li>Satellites<\/li>\n\n\n\n<li>Multi-Active Satellites (Macro ma_sat von AutomateDV)<\/li>\n\n\n\n<li>Extended Tracking Satellites (Macro xts von AutomateDV)<\/li>\n\n\n\n<li>Views auf die Links und Satelliten<\/li>\n\n\n\n<li>und mehr<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Dokumentation<\/h2>\n\n\n\n<p>Das dv2gen-maven-plugin ist auf <a href=\"https:\/\/central.sonatype.com\/artifact\/de.elrebo.plugins\/dv2gen-maven-plugin\">Maven Central<\/a> ver\u00f6ffentlicht und kann so direkt in eigenen Maven-Projekten verwendet werden.<\/p>\n\n\n\n<p>Die Sourcen von dv2gen-maven-plugin habe ich auf <a href=\"https:\/\/github.com\/ChristophOberle\/dv2gen-maven-plugin\">github<\/a> abgelegt. Dort gibt es auch ein <a href=\"https:\/\/github.com\/ChristophOberle\/dv2gen-maven-plugin\/wiki\">Wiki<\/a>, in dem gerade eine Dokumentation entsteht. <\/p>\n\n\n\n<p>Auch auf github gibt es ein Beispiel-Projekt zur Verwendung von dv2gen-maven-plugin: <a href=\"https:\/\/github.com\/ChristophOberle\/dv2gen-example\">dv2gen-example<\/a><\/p>\n\n\n\n<p>dv2gen-maven-plugin ist die Weiterentwicklung des Tools GenRawVault, das ich bereits in mehreren Artikeln beschrieben habe:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/elrebo.de\/ein-dwh-mit-git-linux-docker-postgresql-dbt-und-automatedv\">Ein DWH mit git, Linux, Docker, PostgreSQL, dbt und AutomateDV<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/elrebo.de\/genrawvault-wie-man-aus-einer-steuerdatei-ein-ganzes-dwh-generieren-kann\">GenRawVault: wie man aus einer Steuerdatei ein ganzes DWH generieren kann<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/elrebo.de\/dry-and-coc\">DRY and CoC<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/elrebo.de\/multi-active-satellites-in-genrawvault\">Multi-Active Satellites in GenRawVault<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/elrebo.de\/wenn-datensaetze-verschwinden\">Wenn Datens\u00e4tze verschwinden &#8230;<\/a><\/li>\n<\/ul>\n\n\n\n<p>Wenn Sie Fragen dazu haben, sprechen Sie mich an!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein Maven-Plugin um ein DataVault2.0-DataWarehouse aus einer XML-Konfiguration zu erzeugen. Motivation Ein Data Vault 2.0 Data Warehouse besteht aus vielen Datenbankartefakten, die auf konsistente Art definiert sein m\u00fcssen. Au\u00dferdem m\u00fcssen die Skripte zum Laden der Daten automatisiert werden. Eine M\u00f6glichkeit diese Ziele zu erreichen ist es, dbt als Datenbank-Tool zu verwenden und AutomateDV um die [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":436,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,14,15,18],"tags":[22,29,30,33,35,44,60],"class_list":["post-431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dwh","category-dv20","category-genrawvault","category-werkzeuge","tag-automatedv","tag-data-warehouse","tag-dbt","tag-dv2-0","tag-dwh","tag-maven-plugin","tag-xml"],"_links":{"self":[{"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/posts\/431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/comments?post=431"}],"version-history":[{"count":0,"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/posts\/431\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/media\/436"}],"wp:attachment":[{"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/media?parent=431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/categories?post=431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.elrebo.de\/index.php\/wp-json\/wp\/v2\/tags?post=431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}