Reputation: 21
I am trying to test a simple kafka consumer using Apache Hop v1.2. When I run the pipeline using the local runner, it works fine. But if I run it using the flink runner I get the following error
You can only have one copy of the injector transform 'output' to accept the Kafka messages
I have tried debugging the Hop code and looks like the root cause is the initSubPipeline() method being invoked multiple times while using the Flink runner. That's not the case when I use the local runner. Am I missing something here?
Upvotes: 0
Views: 233
Reputation: 106
For others bumping into this problem, I discussed it on an other communication platform with Mono.
In this case the problem lies with the Transform. Not all transforms in Hop are able to run in a clustered environment such as Flink, for Apache Kafka we have 2 transforms. One is called "Beam Kafka Consumer/Producer" this one can be used in combination of one of our engines that use Apache Beam (Flink, Spark, Google Dataflow). The other are the "regular" Kafka producer/consumer and these will only work using the Hop Engine.
There is a ticket on our backlog (HOP-3863) that will add a system to throw an error or warning when using a transform that is not made to run on one of our engines.
Upvotes: 1