Seminar / Training
Python-Erweiterungen werden als reguläre, testbare NiFi-Komponenten entworfen und nicht als unkontrollierte Skriptsammlung. Ressourcenverbrauch, Abhängigkeiten und Fehlerpfade bleiben nachvollziehbar.
Inhaltsübersicht
- Einordnung und Zielsetzung
- Zielgruppe und Voraussetzungen
- Lernziele
- Python-Processor-Modell
- Properties und Expression Language
- FlowFile-Inhalt und Attribute
- Bibliotheken und Abhängigkeiten
- State, Nebenläufigkeit und Ressourcen
- Fehler und Logging
- Tests und Deployment
- Praxisübungen
- Anwendungsszenarien
Einordnung und Zielsetzung
Drei Tage sind erforderlich, weil API-Modell, Datenverarbeitung, Dependency Management, Tests und Deployment praktisch programmiert und in einer NiFi-Laufzeit validiert werden.
Zielgruppe
Python-Entwicklung, Data Engineering, Integrationsentwicklung und Plattform-Engineering.
Voraussetzungen
Sichere Python-Kenntnisse und NiFi-Grundkenntnisse; Erfahrung mit virtuellen Umgebungen und Tests ist hilfreich.
Lernziele
- Python-Processor-Projekte strukturiert aufbauen.
- Properties und Relationships sauber definieren.
- FlowFile-Inhalt und Attribute sicher verarbeiten.
- Abhängigkeiten reproduzierbar verwalten.
- Fehler, Logging und Nebenläufigkeit beherrschen.
- Komponenten testen und kontrolliert deployen.
Seminarinhalte
1. Python-Processor-Modell
Die Erweiterung folgt dem NiFi-Komponentenvertrag mit eindeutigen Eingängen, Ausgängen und Konfigurationswerten.
- Schritt 1: Einsatzgrenze gegenüber Standardprozessoren prüfen.
- Schritt 2: Projekt- und Paketstruktur anlegen.
- Schritt 3: Processor-Klasse und Metadaten definieren.
- Schritt 4: Relationships und Properties planen.
- Schritt 5: Komponente laden und in der Oberfläche verifizieren.
2. Properties und Expression Language
Konfiguration wird validiert und kann kontextbezogene Werte nutzen.
- Schritt 1: Pflichtwerte und Standardwerte definieren.
- Schritt 2: Sensitive Properties kennzeichnen.
- Schritt 3: Validatoren und zulässige Werte festlegen.
- Schritt 4: Expression-Language-Scope bestimmen.
- Schritt 5: Fehlerhafte Konfiguration vor Start testen.
3. FlowFile-Inhalt und Attribute
Inhalt wird streamingorientiert und ohne unnötige Kopien verarbeitet.
- Schritt 1: Attribute auslesen und normalisieren.
- Schritt 2: Eingangsinhalt sicher öffnen.
- Schritt 3: Transformation in begrenzten Speicherblöcken durchführen.
- Schritt 4: Ausgabe und Attribute atomar schreiben.
- Schritt 5: FlowFile an Success oder Failure übertragen.
4. Bibliotheken und Abhängigkeiten
Externe Python-Pakete werden versioniert, prüfbar und ohne Netzabhängigkeit im Produktionsstart bereitgestellt.
- Schritt 1: Benötigte Pakete minimieren.
- Schritt 2: Versionen festschreiben.
- Schritt 3: Build- und Laufzeitabhängigkeiten trennen.
- Schritt 4: Artefakt in isolierter Umgebung prüfen.
- Schritt 5: Lizenz- und Sicherheitsprüfung im Freigabeprozess verankern.
5. State, Nebenläufigkeit und Ressourcen
Komponenten bleiben bei parallelen Tasks und Neustart deterministisch.
- Schritt 1: State-Bedarf bestimmen.
- Schritt 2: Lokalen oder clusterweiten Zustand wählen.
- Schritt 3: Gemeinsame Objekte thread-sicher behandeln.
- Schritt 4: Timeout und Speichergrenzen setzen.
- Schritt 5: Parallelbetrieb und Neustart testen.
6. Fehler und Logging
Daten-, Konfigurations- und Systemfehler führen zu unterschiedlichen kontrollierten Pfaden.
- Schritt 1: Fehlerklassen definieren.
- Schritt 2: Logmeldungen mit Komponentenbezug schreiben.
- Schritt 3: Sensitive Inhalte aus Logs ausschließen.
- Schritt 4: Retry und Failure differenzieren.
- Schritt 5: Fehlerattribute für nachgelagerte Behandlung ergänzen.
7. Tests und Deployment
Komponenten werden vor Freigabe automatisiert und in einer Referenzinstanz geprüft.
- Schritt 1: Unit-Tests für Kernlogik erstellen.
- Schritt 2: Testdaten und Grenzfälle definieren.
- Schritt 3: Komponente paketieren.
- Schritt 4: Deployment-Verzeichnis und Versionierung festlegen.
- Schritt 5: Smoke-Test und Rückfall durchführen.
Praxisübungen
- Minimalen Python-Prozessor erstellen.
- JSON-Inhalt streamingorientiert transformieren.
- Property mit Expression Language auswerten.
- Fehler- und Retry-Pfade testen.
- Versioniertes Deployment mit Rollback durchführen.
Anwendungsszenarien
- Spezielle Datenbereinigung
- Nutzung vorhandener Python-Bibliotheken
- Prototypischer Integrationsadapter
- Fachliche Validierung
Fachbereichsleitung / Leitung der Trainer / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Python-Entwicklung, Data Engineering, Integrationsentwicklung und Plattform-Engineering. |
| Voraussetzungen: | Sichere Python-Kenntnisse und NiFi-Grundkenntnisse; Erfahrung mit virtuellen Umgebungen und Tests ist hilfreich. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhouse, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
