Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/23208#discussion_r240028515
  
    --- Diff: 
sql/core/src/main/java/org/apache/spark/sql/sources/v2/TableProvider.java ---
    @@ -25,7 +25,10 @@
      * The base interface for v2 data sources which don't have a real catalog. 
Implementations must
      * have a public, 0-arg constructor.
      * <p>
    - * The major responsibility of this interface is to return a {@link Table} 
for read/write.
    + * The major responsibility of this interface is to return a {@link Table} 
for read/write. If you
    + * want to allow end-users to write data to non-existing tables via write 
APIs in `DataFrameWriter`
    + * with `SaveMode`, you must return a {@link Table} instance even if the 
table doesn't exist. The
    + * table schema can be empty in this case.
    --- End diff --
    
    I'm not convinced it's safe to remove `SaveMode` right away, when there is 
only an `Append` operator implemented currently.
    
    If we do it, it means `DataFrameWriter.save` need to throw an exception for 
a lot of cases, except when the `mode` is append. I don't think this is 
acceptable right now.
    
    Can we discuss the removal of `SaveMode` at least after all the necessary 
new write operators are implemented?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org
For additional commands, e-mail: reviews-h...@spark.apache.org

Reply via email to