trait DataWriterFactory extends Serializable
A factory of DataWriter returned by
BatchWrite#createBatchWriterFactory(PhysicalWriteInfo), which is responsible for
creating and initializing the actual data writer at executor side.
Note that, the writer factory will be serialized and sent to executors, then the data writer
will be created on executors and do the actual writing. So this interface must be
serializable and DataWriter doesn't need to be.
- Annotations
- @Evolving()
- Source
- DataWriterFactory.java
- Since
- 3.0.0 
- Alphabetic
- By Inheritance
- DataWriterFactory
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
-   abstract  def createWriter(partitionId: Int, taskId: Long): DataWriter[InternalRow]Returns a data writer to do the actual writing work. Returns a data writer to do the actual writing work. Note that, Spark will reuse the same data object instance when sending data to the data writer, for better performance. Data writers are responsible for defensive copies if necessary, e.g. copy the data before buffer it in a list. If this method fails (by throwing an exception), the corresponding Spark write task would fail and get retried until hitting the maximum retry times. - partitionId
- A unique id of the RDD partition that the returned writer will process. Usually Spark processes many RDD partitions at the same time, implementations should use the partition id to distinguish writers for different partitions. 
- taskId
- The task id returned by - TaskContext#taskAttemptId(). Spark may run multiple tasks for the same partition (due to speculation or task failures, for example).
 
Concrete Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def ##: Int- Definition Classes
- AnyRef → Any
 
-   final  def ==(arg0: Any): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def clone(): AnyRef- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
 
-   final  def eq(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-    def equals(arg0: AnyRef): Boolean- Definition Classes
- AnyRef → Any
 
-   final  def getClass(): Class[_ <: AnyRef]- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
 
-    def hashCode(): Int- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-   final  def ne(arg0: AnyRef): Boolean- Definition Classes
- AnyRef
 
-   final  def notify(): Unit- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
 
-   final  def notifyAll(): Unit- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
 
-   final  def synchronized[T0](arg0: => T0): T0- Definition Classes
- AnyRef
 
-    def toString(): String- Definition Classes
- AnyRef → Any
 
-   final  def wait(arg0: Long, arg1: Int): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
-   final  def wait(arg0: Long): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
 
-   final  def wait(): Unit- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
 
Deprecated Value Members
-    def finalize(): Unit- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- (Since version 9)