Commit 432c8c97 authored by Raphael Das Gupta's avatar Raphael Das Gupta
Browse files

Üb. 03: replace Word document with AsciiDoc

parent 85da270b
= Übung Wo. 03: Data Integration: ETL: Modul Data Analytics (M_DatAna), Bachelor Informatik
Prof. Stefan Keller; Raphael Das Gupta
FS 2021
:lang: de
:xrefstyle: full
== Aufgabe 1
.Ziel
Kennenlernen eines professionellen ETL-Tools (PDI/Kettle).
.Dauer
Mind. 60 min.
=== Installation Pentaho Data Integration (PDI)
Laden Sie PDI 7.11 von http://sourceforge.net/projects/pentaho/files/Data%20Integration/7.1/pdi-ce-7.1.0.0-12.zip/download herunter (904 MB) und entpacken sie das ZIP-Archiv.
Neben Java (JRE genügt) werden je nach Betriebssystem zusätzliche Programmbibliotheken benötigt.
Hinweise dazu finden Sie auf https://community.hitachivantara.com/s/article/data-integration-kettle im Abschnitt „How to get PDI up and running“.
Wechseln Sie in das entpackte `data-integration`-Verzeichnis und starten Sie PDI wie folgt:
[horizontal]
Windows:: Doppelklick auf Spoon.bat
OS X:: Doppelklick auf „Data Integration“-Applikations-Symbol
Linux:: `./spoon.sh`
=== Tutorials
Arbeiten Sie folgende zwei Tutorials zum Desktop-Tool "Pentaho Data Integration (PDI)/Kettle/Spoon“ durch:
1. „Transformation Tutorial": https://help.pentaho.com/Documentation/7.0/0J0/0C0/020
+
[IMPORTANT]
====
Verwenden Sie in Aufgabe "Loading Your Data into a Relational Database" nicht die dort angegebene Hypersonic-Datenbank, sondern PostgreSQL!
- Erstellen Sie dazu in PostgreSQL eine neue Datenbank `sampledata` mit dem User `postgres`.
- Erstellen und Testen Sie als Output in Kettle die PostgreSQL-Verbindung:
[horizontal]
server:: `localhost`
port-nr.:: `5432`
user:: `postgres`
password:: `postgres` (oder so)
====
2. „Job Tutorial”: https://help.pentaho.com/Documentation/7.0/0J0/0C0/030
Nach dem Durcharbeiten dieser Beispiele kennen Sie einige Bausteine von PDI-Kettle/Spoon.
== Aufgabe 2
.Ziel
Kennenlernen ausgewählter Schema-Transformationen angelehnt an die Vorlesung.
.Dauer
Ca. 1h
.Voraussetzungen
- PDI installiert. (Siehe <<Aufgabe 1>>)
[#img-Heterogenität]
.Integrationsbedarf: Schematische Heterogenität
image::./images/Integrationsbedarf: Schematische Heterogenitaet.png[]
Betrachten Sie <<img-Heterogenität>>.
Dort sind einige typische Unterschiede zusammengestellt.
Und schauen Sie sich nun link:./input-daten[die Daten] an:
- link:./input-daten/mitarbeiter_abt_1.csv[`mitarbeiter_abt_1.csv`]
- link:./input-daten/mitarbeiter_abt_2.csv[`mitarbeiter_abt_2.csv`]
Führen Sie die beiden Dateien zusammen und
geben Sie sie einerseits als Textfile (CSV) und
als JSON-Datei (`.json`) aus!
.Aufgabe
. Beim Input-Step "CSV file input" beim Editieren (z.B. Doppelklick) ...
.. unbedingt alle Feld-Typen angeben;
.. und in der Option "Lazy conversion?" das Häkchen wegnehmen
(nur so werden Strings zu Zahlen gecastet).
. Bei `mitarbeiter_abt_1` das fehlende Feld `ranking` mit einem Transformation-Step angeben.
. Bei `mitarbeiter_abt_2` das Feld `name` umbenennen in `nachname`
(wie in `mitarbeiter_abt_1`).
. Default Wert, z.B. Alter `0` statt `NULL`
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment