sunchao commented on a change in pull request #29066:
URL: https://github.com/apache/spark/pull/29066#discussion_r537717570
##########
File path:
sql/catalyst/src/main/java/org/apache/spark/sql/connector/write/WriteBuilder.java
##########
@@ -23,17 +23,34 @@
import org.apache.spark.sql.connector.write.streaming.StreamingWrite;
/**
- * An interface for building the {@link BatchWrite}. Implementations can mix
in some interfaces to
+ * An interface for building the {@link Write}. Implementations can mix in
some interfaces to
* support different ways to write data to data sources.
*
- * Unless modified by a mixin interface, the {@link BatchWrite} configured by
this builder is to
+ * Unless modified by a mixin interface, the {@link Write} configured by this
builder is to
* append data without affecting existing data.
*
* @since 3.0.0
*/
@Evolving
public interface WriteBuilder {
+ /**
+ * Returns a logical {@link Write} shared between batch and streaming.
+ */
+ default Write build() {
Review comment:
What I mean is now we can potentially have two copies of the `toBatch`
implementation: one in `WriteBuilder.buildForBatch` and one in `Write.toBatch`,
when users start to override `build`, `buildForBatch` and `buildForStreaming`.
If moving forward we want `build` to be the canonical impl, perhaps we can make
`buildForBatch` and `buildForStreaming` to just call `build.toBatch()`
internally so that users just need to override `build`.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]