Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
Loading items

Target

Select target project
  • samuel.meuli/DatAna
  • felix.reiniger/datana
  • nico.fehr/fs-23-data-analytics
  • raphael.dasgupta/datana
  • db/datana
5 results
Select Git revision
Loading items
Show changes
Commits on Source (13)
......@@ -3,6 +3,7 @@ Prof. Stefan Keller; Raphael Das Gupta
FS 2025
:lang: de
:xrefstyle: full
:experimental:
:pdi-community-url: http://db.pages.gitlab.ost.ch/website-pentaho-community/projects/data-integration/
......@@ -10,8 +11,13 @@ FS 2025
Installieren Sie zuerst Apache Hop auf Ihrem Rechner. Die Software ist in Java geschrieben und bietet neben einigen Kommandozeilen-Tools auch ein GUI, um Pipelines und Workflows zu bearbeiten und auszuführen.
1. https://hop.apache.org/download
2. Laden Sie die Zip-Datei herunter und entpacken Sie die Datei in einem Verzeichnis Ihrer Wahl
1. Laden Sie von https://hop.apache.org/download die "`Binaries`"-Zip-Datei herunter
2. Entpacken Sie die Datei in einem Verzeichnis Ihrer Wahl
+
IMPORTANT: Das Verzeichnis und muss für das Betriebssystem-Benutzerkonto,
mit dem sie Apache Hop verwenden werden, schreibbar sein.
Daher empfehlen wir,
ein Unterverzeichnis des persönlichen Ornders zu verwenden.
3. Die Datei `hop-gui.bat` resp. `hop-gui.sh` im Unterverzeichnis `hop` startet die Software
4. Nach dem Start (dauert einige Sekunden) wird das Hauptfenster angezeigt
......@@ -32,11 +38,27 @@ Die Software dürfte aber auch mit einer aktuelleren Version von Java arbeiten.
.Ziel
- Erste Schritte mit Apache Hop
Erstellen Sie ein neues Projekt `Tutorial`, indem Sie im Hauptmenü auf das folgende Icon klicken:
image::images/new_project.png[]
Weisen Sie im Dialog _Project Properties_ unter _Home Folder_ das Projektverzeichnis zu. Der Verzeichnisname wird auch für den Projektnamen verwendet. Die anderen Einstellungen können Sie übernehmen. Den Dialog _Create project lifecycle environment?_ können Sie mit _No_ schliessen.
Erstellen Sie wie folgt ein neues Projekt `Tutorial`:
. Klicken Sie im Hauptmenü auf das folgende Icon: image:images/new_project.png[].
Das öffnet den Dialog _Project Properties_.
. Geben Sie im Dialog _Project Properties_
beim Feld _Name_ den Namen des neu zu erstellenden Projekts
(hier: `Tutorial`) an.
. Klicken Sie im Dialog _Project Properties_
rechts des Felds "`Home folder`"
auf den Button btn:[Browse],
um einen Verzeichnis-Auswahl-Dialog zu öffnen.
. Erstellen Sie über diesen Verzeichnis-Auswahl-Dialog
ein neues Verzeichnis.
Benennen Sie dieses gleich wie das Projekt
(hier: `Tutorial`)
und wählen Sie es an,
bevor Sie die Auswahl bestätigen.
. Im Feld _Home folder_ des Dialogs _Project Properties_
sollte nun der Pfad des neu erstellen Verzeichnises sein.
. Die anderen Einstellungen können Sie übernehmen.
. Den Dialog _Create project lifecycle environment?_ können Sie mit _No_ schliessen.
Spielen Sie das Tutorial https://hop.apache.org/manual/latest/getting-started/hop-gui-pipelines.html durch, um eine einfache Pipeline zusammenzustellen und sich mit dem GUI von Apache Hop vertraut zu machen.
......@@ -60,7 +82,7 @@ Die Einstellungen bei _CSV file input_ sind wie folgt:
Klicken Sie anschliessend auf den Button _Get Fields_. Damit werden neben der Kopfzeile die gegebene Anzahl Datensätze eingelesen, um die Felder und deren Datentypen zu bestimmen. Im Dialog werden diese anschliessend tabellarisch aufgelistet.
Setzen Sie bei den Feldern `CITY` und `STATE` den _Trim type_ auf `both`. Damit werden Leerzeichen zu Beginn und am Ende entfernt. (Ohne diese Einstellung funktioniert die Aufgabe 4 nicht.)
IMPORTANT: Setzen Sie bei den Feldern `CITY` und `STATE` den _Trim type_ auf `both`. Damit werden Leerzeichen zu Beginn und am Ende entfernt. (Ohne diese Einstellung funktioniert die Aufgabe 4 nicht.)
image::images/sales_csv1.png[]
......@@ -72,7 +94,7 @@ Prüfen Sie, ob die Datensätze vollständig und plausibel sind.
.Ziel
- Datensätze aufteilen
Mit dem Block _Filter rows_ können Datensätze aufgrund von Kriterien gefiltert resp. aufgeteilt werden. Erweitern Sie die Pipeline aus Aufgabe 2 so, dass Datensätze ohne gesetzte Postleitzahl (Feld `POSTALCODE`) herausgefiltert werden.
Mit dem Block _Read zips_ wird die Datei `zipssorted.csv` eingelesen. Beachten Sie, dass hierfür der type von `POSTALCODE` auf `String` gesetzt werden muss. Davon abgesehen können Sie gleich wie bei Aufgabe 2 vorgehen.
image::images/sales_pipeline2.png[]
......@@ -97,7 +119,7 @@ Hierzu sind neben einem zusätzlichen Block _CSV file input_ einige weitere Blö
image::images/sales_pipeline3.png[]
Mit dem Block _Read zips_ wird die Datei `zipssorted.csv` eingelesen. Hier sind keine besonderen Einstellungen erforderlich, Sie können gleich wie bei Aufgabe 2 vorgehen.
Mit dem Block _Read zips_ wird die Datei `zipssorted.csv` eingelesen. Beachten Sie dort, dass der type von `POSTALCODE` auf `String` gesetzt ist. Ansonsten können Sie können gleich wie bei Aufgabe 2 vorgehen.
Mit dem Block _Stream lookup_ wird der Lookup ausgeführt. Dabei wird die Postleitzahl aufgrund von `CITY` und `STATE` gesucht. Der Block fügt hierzu bei den Datensätzen eine zusätzliches Feld `ZIP_RESOLVED` hinzu, in dem die gefundene Postleitzahl abgelegt wird. Die Einstellungen des Blocks _Stream lookup_ sind wie folgt:
......@@ -156,6 +178,11 @@ image::images/sales_pipeline5.png[]
image::images/sales_database1.png[]
[NOTE]
====
Beachten Sie, dass unter Username und Password Benutzername und Passwort des zu verwendenden Benutzerkontos im Datenbank-Managementsystem (z.B. ihrer lokalen PostgreSQL-Instanz) gefordert sind.
====
Mit _Test_ können Sie prüfen, ob eine Verbindung zur Datenbank aufgebaut werden kann.
Legen Sie in den Einstellungen unter _Target Table_ mit `SALES_DATA` den Namen der Tabelle fest, in der die Daten abgelegt werden sollen. Klicken Sie anschliessend den Button _SQL_. Falls die Tabelle noch nicht existiert (was der Fall sein sollte), wird der `CREATE TABLE` Befehl aufgelistet, mit dem die Tabelle erstellt werden kann:
......@@ -197,33 +224,3 @@ Entwickeln Sie eine Pipeline, welche die Temperaturen nach °C und °F umrechnet
====
Benennen Sie zuerst die Felder so um, dass sie keine Klammern ( ) im Namen aufweisen.
====