Add TableSink operator with Java/Spark implementations #665
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a new
TableSinkoperator for writingRecorddata into a database table via JDBC, with implementations for the Java and Spark platforms.Opening as Draft to start discussion on the operator design and expected behavior.
Changes
New operator:
TableSink(inwayang-basic)UnarySink<Record>that targets a table name and accepts JDBC connectionPropertiesmode(e.g. overwrite) and optional column namesJava platform:
JavaTableSink(inwayang-java)overwriteby dropping the target table firstSpark platform:
SparkTableSink(inwayang-spark)TableSinkoperatorNotes / open questions
VARCHARs)modebehavior (overwrite vs append, etc.) should be agreed on and formalized.How to use / test
To run end-to-end locally, you currently need an external PostgreSQL instance available and provide JDBC connection details (driver/url/user/password) in the test setup/environment.