Beim Erstellen benutzerdefinierter FlowFileTransform-Python-Prozessoren scheint es unmöglich zu sein, Komponententests für diesen Prozessor zu schreiben.
Um es noch einmal zusammenzufassen: Jeder Python-Prozessor erweitert die abstrakte Methode transform aus der FlowFileTransform-Klasse – die Methode, für die ich einen Komponententest schreiben möchte, um die Entwicklung zu beschleunigen und lokales Debuggen zu ermöglichen. Diese Klasse hängt von einigen Java-Klassen ab und erfordert daher ein py4j-Gateway zur Java-Anwendung, damit die Tests ausgeführt werden können.
Gibt es eine Möglichkeit, ein Gateway bereitzustellen, indem ich beispielsweise ein Läuft eine lokale NiFi-Instanz, würde mir das ermöglichen, Tests in meiner IDE auszuführen? Ich habe versucht, das Verzeichnis nifiapi/ zu meinem Python-Projekt hinzuzufügen, um die FlowFileTransform-Klasse bereitzustellen, und habe dann auch versucht, die JvmHolder-Klasse zu ändern, um ein Gateway zu initiieren, aber ohne Erfolg (ich gehe davon aus, dass es sich um das Gateway/den Port der laufenden Instanz handelt). wird von den Python-Prozessen dieser Instanz belegt). Gibt es vielleicht eine einfachere Lösung, die ich nicht sehe?
Wie würde ich einen Komponententest für einen benutzerdefinierten Python-Prozessor in Apache NiFi 2.x schreiben? ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post