Wie würde ich einen Komponententest für einen benutzerdefinierten Python-Prozessor in Apache NiFi 2.x schreiben?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie würde ich einen Komponententest für einen benutzerdefinierten Python-Prozessor in Apache NiFi 2.x schreiben?

by Guest » 13 Jan 2025, 16:55

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?

Top