You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The flink version currently used by seatunnel in version 1.x is 1.9, but now flink is developing rapidly. As of the time of document writing, flink has developed to version 1.14. In order to better connect the flink version, I need to redesign the flink core api.
In order to be consistent with the flink batch-stream integration concept, I decided to abandon the batch and stream packages, because the old planner is no longer maintained, and even deleted in flink 1.14, so we will no longer use the batch environment, which means giving up completely Use Dataset. In the old version of flink, we used Row as the data transfer object of table Api, but due to the reason of retractStream, flink will have a retraction stream event, because before, it had to use Tuple<Boolean, Row> this type, In the new version, we can directly use RowData to replace the above expression. Combining the above points, I have given a new api design.
Design
Before designing, we considered compatibility with the previous api, so we added a new package directory org.apache.seatunnel.api.flink, all the following classes will be under this package
We continue to use the previous basic interface.
base interface design
how to solve batch and stream mode transform?
how to build a new connector?
Whether you use the official connector or implement the connector yourself, you must implement the class org.apache.flink.table.factories.DynamicTableSourceFactory and org.apache.flink.table.factories.DynamicTableSinkFactory
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Motivation
The flink version currently used by seatunnel in version 1.x is 1.9, but now flink is developing rapidly. As of the time of document writing, flink has developed to version 1.14. In order to better connect the flink version, I need to redesign the flink core api.
In order to be consistent with the flink batch-stream integration concept, I decided to abandon the batch and stream packages, because the old planner is no longer maintained, and even deleted in flink 1.14, so we will no longer use the batch environment, which means giving up completely Use Dataset. In the old version of flink, we used Row as the data transfer object of table Api, but due to the reason of retractStream, flink will have a retraction stream event, because before, it had to use Tuple<Boolean, Row> this type, In the new version, we can directly use RowData to replace the above expression. Combining the above points, I have given a new api design.
Design
Before designing, we considered compatibility with the previous api, so we added a new package directory org.apache.seatunnel.api.flink, all the following classes will be under this package
We continue to use the previous basic interface.
Whether you use the official connector or implement the connector yourself, you must implement the class org.apache.flink.table.factories.DynamicTableSourceFactory and org.apache.flink.table.factories.DynamicTableSinkFactory
Beta Was this translation helpful? Give feedback.
All reactions