Hi Fanbin,
I think you are mixing different APIs together. We have a Scala and Java
version of both DataStream and Table API. The error message indicates
that `toRetractStream` is called on a Java Table API class because it
returns org.apache.flink.api.java.tuple.Tuple2 but your sink is
implemented in Scala with Scala tuple syntax like `(Boolean, Row)`.
Make sure you are using `org.apache.flink.table.api.scala._` instead of
`org.apache.flink.table.api.java._`.
I hope this helps.
Regards,
Timo
On 15.12.19 03:25, Fanbin Bu wrote:
> Hi
>
> I have my sink defined as:
> class MyAwesomeSink() extends RichSinkFunction[(Boolean, Row)] {
> ...
> }
>
> But compile complains when I use it like:
> val sink = new MyAwesomeSink()
> tableEnv.toRetractStream(queryResult, classOf[Row]).addSink(sink)
>
> found : MyAwesomeSink
> required:
> org.apache.flink.streaming.api.functions.sink.SinkFunction[org.apache.flink.api.java.tuple.Tuple2[Boolean,org.apache.flink.types.Row]]
>
>
> I'm using Flink 1.9 with blink.
> I tried
> import org.apache.flink.api.scala._
> import org.apache.flink.streaming.api.scala._
> and it doesn't work.
>
>
> Any ideas?
>
> Thanks,
> Fanbin
>
>