Hi Yan,
there are no table source interfaces that allow for creating a
retract stream directly yet. Such an interface has to be carefully
designed because built-in operators assume that only records that
have been emitted previously are retracted. However, they are
planned for future Flink versions.
As a workaround you could implement a custom rule that translates
parts of your plan into a custom DataStream operator. This might
require some investigation how the translation is done internally
because this is not documented. I don't know if it would be worth
the effort. You might take a look at
TableEnvironment.getConfig().setCalciteConfig() where you can add
additional rules. You can use the available rules in
org.apache.flink.table.plan.rules.FlinkRuleSets as a reference.
I hope this helps.
Regards,
Timo
Am 1/10/18 um 1:04 AM schrieb Yan Zhou [FDS Science]:
Hi,
There are APIs to
convert a dynamic table to retract stream. Is there any way to
construct a "retract" data stream and convert it into table? I
want to read the change log of relational database from
kafka, "apply" the changes within flink( by creating CRow
DataStream), register/create a table on the CRow DataStream.
Is there any way to do this?
Best
Yan