KNIME Einführung — einige High Lights (deutsch)

Markus Lauber
8 min readMar 2, 2023

Einführungen in KNIME gibt es viele (etwa den Starter Guide) und ich will auch keine komplett Neue hinzufügen. Ich habe für eine kleine Schulung (auf Deutsch) eine Sammlung von KNIME Workflows vorbereitet durch die ich gerne durchführe.

Auf Windows Rechnern kann man KNIME auch einfach komplett als .ZIP Datei laden und entpacken (“standalone”). Admin Rechte sind nicht erforderlich
(auf https://www.knime.com/downloads unter Windows die .zip Datei wählen).

Ansonsten der normale Download. Falls benötigt kann man auch eine ältere KNIME Version laden — etwa wenn man statt der neuen Version 5.1 noch die 4.7 verwenden will.

In diesem Blog möchte ich einige Besonderheiten hervorheben die gerade KNIME-Beginners helfen können und einen Eindruck vermitteln was machbar ist — auch als Inspiration weiter in die Welt von Low-Code einzutauchen.

Am besten lädt man sich die ganze Workflow Gruppe die ich als Beispiel verwende auf den eigenen Rechner und importiert die (.knar) Datei nach KNIME nachdem man KNIME installiert hat:

KNIME Workflow Gruppe Laden
Ganze KNIME Workflow Gruppe mit den Beispielen Laden (https://hub.knime.com/-/spaces/-/latest/~QpZwCmt6Ivh_NMRT/)

Wer direkt einsteigen will KNIME systematisch zu Lernen für den habe ich diesen Blog: “Start to Learn KNIME

Ein graphischer Workflow — “Low Code”

Das Offensichtliche ist, dass KNIME ein graphisches Tool ist. Man legt seine Arbeit in Workflows und Workflow Gruppen (Ordnern) an. Die Funktionen stecken in den Knoten (Nodes) von denen es Tausende gibt. In der Regel sollte man einfach anfangen und Schritt für Schritt ausprobieren was geht. Oft gibt es schon Beispiele wo jemand etwas Ähnliches gemacht hat — es gibt nicht unbedingt ein Richtig und Falsch es gibt ein Ergebnis, das man jederzeit ansehen und wiederholen und ändern kann. Oft sind viele Wege ‘richtig’.

Daten einlesen mit KNIME
Daten einlesen mit KNIME (https://hub.knime.com/-/spaces/-/latest/~9CNlf56dGmdx5PZQ/)

KNIME Workflows liegen in Ihrem eigenen Ordner auf der Festplatte (knime-workflow) getrennt vom Programm. Ihr könnt also bei Bedarf auch neu installieren ohne dass Eure Arbeit betroffen ist. Backup macht aber natürlich immer Sinn und ist nicht nur was für Feiglinge! Nicht nur bei KNIME…

KNIME ist eine Plattform! Gerne auch für und mit Excel

Das bedeutet es können alle Arten von Daten (und Datenbanken/SQL) gelesen, verarbeitet und auch wieder exportiert werden. KNIME ist sehr offen und Anschluss-freudig. Besonders gut ist die Zusammenarbeit mit Excel — oft kann KNIME Arbeit mit Excel ergänzen oder ersetzen.

Dieses Buch und Video helfen beim Ein- und Uumstieg:

Viel mehr zum Thema Excel und eine gute Basisübung in dieser Sammlung (etwas runter scrollen …):

Fragen zum Umgang mit Excel Dateien sind häufig im KNIME Forum und es finde sich viele Beispiele wie man Datenblätter/Sheets und .xlsx Dateien einlesen und verändern kann. Dieses Excel Beispiel und weitere verlinkte Workflows können einen ersten Einblick geben.

KNIME Knoten / Nodes — die Funktionen finden

Welche Funktionen es in KNIME gibt kann man im “Node Repository” sehen. Einfach einen Begriff eintippen oder die Kategorien durchblättern. KNIME ist auf Englisch wie sehr viele Begriffe aus der Datenanalyse. Falls man mit Englisch gar nicht weiter weiss kann Google helfen oder DeepL (https://www.deepl.com/translator) oder ChatGPT. Das ist auch nützlich falls man im KNIME Forum etwas lesen oder schreiben/fragen will.

Suchen im KNIME Node Repository
Suchen im KNIME Node Repository

Ich finde die meisten Nodes sind relativ selbsterklärend und haben einen Dialog der einen führt (Konfiguration über rechte Maustaste). Falls man es aber doch mal genauer wissen will gibt es ausführliche Beschreibungen.

Neben den Knoten die KNIME nach der Installation direkt mit an Bord hat gibt es viele Erweiterungen die man nachträglich laden kann.

Abzweigungen sind super!

Durch die Workflow Struktur die Funktionen und Inhalte zusammen hält kann man an jedem Punkt ‘Abzweigen’ und mit dem Stand der Daten etwas anderes machen. Workflows können und sollen Wachsen wenn man neue Ideen hat. Es besteht auch keine Notwendigkeit sofort alle Knoten zu kennen; es gibt Beispiele auf dem Hub und man kann wie gesagt suchen.

Abzweigungen sind gut!
Abzweigungen sind gut! (https://hub.knime.com/-/spaces/-/latest/~iTaDwHl98GJQDwnK/)

KNIME Knoten Organisieren und Beschreiben

Eventuell ist es schon aufgefallen. Bunte Kästen (“Workflow Annotations”) mit Texten und Beschreibungen unter den Knoten selbst helfen die Arbeit zu organisieren. Für sich selbst und für andere. Dokumentation ist ja traditionell das was am Meisten Spaß macht … Scherz. Wenn man sich bei KNIME aber etwas diszipliniert ist der Workflow seine eigene Dokumentation. Hier ist die kleinteilige Abfolge von Knoten/Funktionen dann ein Vorteil. Ja manches kann man in wenigen Zeilen Code machen aber so weiß man später auch noch was man gemacht hat und jemand anders kann sich leichter Einfinden oder macht schlicht am letzten Knoten weiter.

Für längere Anmerkungen gibt es auch die Node Description (bis KNIME 4.7).

Node Description nutzen
Node Description

Eine Funktion die ich häufig nutze ist das “Auto Layout” — wenn ein Workflow sehr unübersichtlich geworden ist in der Entwicklung kann man automatisch aufräumen lassen — im Zweifel auch mehrfach klicken bis das Ergebnis gefällt.

Die Funktion Auto Layout kann bei großen Workflows helfen, evt mehrmals drücken oder nur für einen Teil der Knoten verwenden
Die Funktion Auto Layout kann bei großen Workflows helfen, evtl. mehrmals drücken oder nur für einen Teil der Knoten verwenden

Jeder Workflow selbst kann auch wieder eine übergreifende Beschreibung haben, einen Titel, Tags und ergänzende Links. Auch hier: wer diese Bereiche nutzt tut sich und anderen einen Gefallen. Und diese Angaben erscheinen dann im KNIME Community Hub (oder Business Hub).

Beschreibung eines KNIME Workflows
Beschreibung eines KNIME Workflows (https://hub.knime.com/-/spaces/-/latest/~iTaDwHl98GJQDwnK/)

KNIME — SQL ist an Bord und recht einfach

Bei KIME ist SQL (Structured Query Language) gleich mit an Bord entweder zum selbst schreiben oder unterstützt durch KNIME Knoten. Dank ‘standalone’ Datenbanken wie SQLite und H2 kann man das auch einfach mit einer lokalen Datei ausprobieren die ein komplettes Datenbanksystem dabei hat. An dieser Stelle kein kompletter SQL Kurs aber damit lassen sich Projekte von kleinen (lokalen) Datenbankzugriffen bis hin zu Big Data Projekten in der selben Logik gestalten und Ansprechen:

KNIME und SQL
KNIME und SQL (https://hub.knime.com/-/spaces/-/latest/~MBFDui3bEjWk8wQz/)

Einschub: Wenn Ihr ein Video sehen wollt zu einem SQL / Big Data Projekt: >>Sparkling predictions and encoded labels — “the poor man’s ML Ops”<<

Low-Code ist nicht No-Code — oder: keine Angst vor Python

Auch wenn KNIME zunächst ein low-code tool ist werden auch Programmiersprachen wie Python, R oder Java unterstützt. Und gerade mit Python kann man viele Funktionen und Pakete einbinden auch wenn es dafür in KNIME noch keinen Knoten gibt oder man keine Lust hat diese zu verwenden. Man muss keine komplette Python Programmiererin sein um diese Knoten zu nutzen. Im Zweifel hilft ein wenig ChatGPT und ein paar Anpassungen von Beispielen aus dem Netz. Zumal KNIME seit einiger Zeit auch eine Python Version in einer eigenen Erweiterung mitbringt — also für viele Funktionen ist keine mühsame Conda Installation nötig.

Warum Wählen wenn man ALLES haben kann!

KNIME Python Knoten
KNIME loves Python (https://www.knime.com/blog/how-to-setup-the-python-extension)

Einschub: wer sehen will was man mit relativ wenig Aufwand mit dem eigebauten Python mit Grafiken machen kann:
Create an Interactive Dashboard with KNIME Components and Python
(mit Video)

Wer deutlich mehr zu KNIME und Python wissen will kann diesen Artikel lesen (“KNIME and Python — Setting up and managing Conda environments”). Beim Coding selbst kann man sich auch ohne Weiteres von Tools wie ChatGPT helfen lassen. Vielleicht beginnt man mit kleinen Aufgaben und abgetrennten Code-Blöcken die sich gut in KNIME Workflows einbauen lassen:

KNIME selbst arbeitet daran KI direkt in seine Software einzubauen — speziell ab Version 5.0.:

Weitere KNIME AI Anwendungen wären: “KNIME, ChatGPT and Python”, “Creating a Local LLM Vector Store from PDFs with KNIME and GPT4All” und “KNIME, AI Extension and local Large Language Models (LLM)”.

KNIME — Start exploring …

Ich hoffe ich konnte etwas Lust auf KNIME machen und würde empfehlen einfach mit ein paar Aufgaben anzufangen entweder aus dem eigenen Umfeld oder aus dem Beginners Space auf dem KNIME Hub:

Natürlich könnt Ihr auch den systematischen Weg wählen und KNIME ‘ordentlich Lernen:

Oder man beteiligt sich an den “Just KNIME It!” Aufgaben

Dann ist natürlich das KNIME Forum der Ort wo sich die Community trifft und wo man jederzeit Hilfe bekommen kann, auf Englisch aber auch auf Deutsch und in anderen Sprachen (im Zweifel DeepL.com nutzen …):

Ihr könnt mir gerne hier auf Medium folgen (https://medium.com/@mlxl) oder auch im KNIME forum. Auf dem KNIME Hub habe ich zahlreiche Beispiele die hoffentlich weitere Inspirationen bereit halten:

Oder Ihr nutzt die von KNIME kuratierte Sammlung von Spaces zu verschiedenen inhaltlichen Themen mit Beispielen:

https://hub.knime.com/knime

Wie geht es weiter?

Die nächsten wichtigen Konzepte bei KINME die es sich lohnt anzusehen sind:

  • Flow Variablen — wie jede Programmiersprache hat auch KNIME Variablen — das sind die kleinen “roten Ohren” die an Knoten dran sind — bzw. die man dran machen kann:
    Flow Control Guide
  • Loops / Schleifen — die meisten Automatisierungen beginnen mit Schleifen. In KNIME sind das Loops und durch die graphische Oberfläche ergeben sich ein paar Besonderheiten die KNIME aber großartig gelöst hat etwa um Dateien einzulesen
  • Pfade und Dateien — wenn man seine Daten beherrschen will sollte man wissen wo was liegt und wie man dran kommt und was damit machen kann. Dafür empfehle ich dringend den recht umfangreichen “File Handling Guide” — ja das ist lang aber dann hat man ein wirklich gutes Verständnis dafür wie KNIME funktioniert
  • Hinweise zu Performance und ein paar Quirks die einem begegnen könnten: “Mastering KNIME: Unlocking Peak Performance with Expert Tips and Smart Settings

KNIME Lernen

Wer auf der Suche danach ist systematisch KNIME zu Lernen dem hilft diese Übersicht — es gibt immer wieder auch KNIME-Kurse auf Deutsch:

Find KNIME Learning Options for All Learner Types:
https://www.knime.com/blog/learning-options-for-all-learner-types

Wer eine Übersicht möchte was und warum es KNIME sein soll und was es noch alles zu entdecken gibt der sollte sich diesen Artikel ansehen:

--

--

Markus Lauber

Senior Data Scientist working with KNIME, Python, R and Big Data Systems in the telco industry