| Interface | Description | 
|---|---|
| BatchWrite | 
 An interface that defines how to write the data to data source for batch processing. 
 | 
| DataWriter<T> | 
 A data writer returned by  
DataWriterFactory.createWriter(int, long) and is
 responsible for writing data for an input RDD partition. | 
| DataWriterFactory | 
 A factory of  
DataWriter returned by
 BatchWrite.createBatchWriterFactory(PhysicalWriteInfo), which is responsible for
 creating and initializing the actual data writer at executor side. | 
| DeltaBatchWrite | 
 An interface that defines how to write a delta of rows during batch processing. 
 | 
| DeltaWrite | 
 A logical representation of a data source write that handles a delta of rows. 
 | 
| DeltaWriteBuilder | 
 An interface for building a  
DeltaWrite. | 
| DeltaWriter<T> | 
 A data writer returned by  
DeltaWriterFactory.createWriter(int, long) and is
 responsible for writing a delta of rows. | 
| DeltaWriterFactory | 
 A factory for creating  
DeltaWriters returned by
 DeltaBatchWrite.createBatchWriterFactory(PhysicalWriteInfo), which is responsible for
 creating and initializing writers at the executor side. | 
| LogicalWriteInfo | 
 This interface contains logical write information that data sources can use when generating a
  
WriteBuilder. | 
| PhysicalWriteInfo | 
 This interface contains physical write information that data sources can use when
 generating a  
DataWriterFactory or a StreamingDataWriterFactory. | 
| RequiresDistributionAndOrdering | 
 A write that requires a specific distribution and ordering of data. 
 | 
| RowLevelOperation | 
 A logical representation of a data source DELETE, UPDATE, or MERGE operation that requires
 rewriting data. 
 | 
| RowLevelOperationBuilder | 
 An interface for building a  
RowLevelOperation. | 
| RowLevelOperationInfo | 
 An interface with logical information for a row-level operation such as DELETE, UPDATE, MERGE. 
 | 
| SupportsDelta | 
 A mix-in interface for  
RowLevelOperation. | 
| SupportsDynamicOverwrite | 
 Write builder trait for tables that support dynamic partition overwrite. 
 | 
| SupportsOverwrite | 
 Write builder trait for tables that support overwrite by filter. 
 | 
| SupportsOverwriteV2 | 
 Write builder trait for tables that support overwrite by filter. 
 | 
| SupportsTruncate | 
 Write builder trait for tables that support truncation. 
 | 
| V1Write | 
 A logical write that should be executed using V1 InsertableRelation interface. 
 | 
| Write | 
 A logical representation of a data source write. 
 | 
| WriteBuilder | 
 An interface for building the  
Write. | 
| WriterCommitMessage | 
 A commit message returned by  
DataWriter.commit() and will be sent back to the driver side
 as the input parameter of BatchWrite.commit(WriterCommitMessage[]) or
 StreamingWrite.commit(long, WriterCommitMessage[]). | 
| Enum | Description | 
|---|---|
| RowLevelOperation.Command | 
 A row-level SQL command. 
 |