I built a feature of our platform on top of Apache NiFi[1] and had a great experience. I would have preferred a non-JVM language, as that'd have been easier for us in a containerized environment, but I have no complaints about NiFi otherwise.
This was a few years ago but NiFi only supported editing the DAG from a GUI; you could store the resulting XML in git, but no human could read or edit it. Python steps were stuck on Python 2.6 or 2.7. Hard to debug pileups. Is it better now?