abstract class ColumnarOutputWriter extends HostBufferConsumer
This is used to write columnar data to a file system. Subclasses of ColumnarOutputWriter
must provide a zero-argument constructor. This is the columnar version of
org.apache.spark.sql.execution.datasources.OutputWriter.
- Alphabetic
- By Inheritance
- ColumnarOutputWriter
- HostBufferConsumer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Abstract Value Members
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
bufferBatchAndClose(batch: ColumnarBatch): Long
- Attributes
- protected[this]
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
close(): Unit
Closes the ColumnarOutputWriter.
Closes the ColumnarOutputWriter. Invoked on the executor side after all columnar batches are persisted, before the task output is committed.
-
val
conf: Configuration
- Attributes
- protected
-
def
done(): Unit
- Definition Classes
- HostBufferConsumer
- def dropBufferedData(): Unit
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getOutputStream: FSDataOutputStream
- Attributes
- protected
-
def
handleBuffer(buffer: HostMemoryBuffer, len: Long): Unit
- Definition Classes
- ColumnarOutputWriter → HostBufferConsumer
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @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
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
outputStream: FSDataOutputStream
- Attributes
- protected
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
throwIfRebaseNeededInExceptionMode(batch: ColumnarBatch): Unit
- Attributes
- protected
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
transformAndClose(cb: ColumnarBatch): ColumnarBatch
Apply any necessary casts before writing batch out
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def writeBufferedData(): Unit
-
def
writeSpillableAndClose(spillableBatch: SpillableColumnarBatch, statsTrackers: Seq[ColumnarWriteTaskStatsTracker]): Long
Persists a columnar batch.
Persists a columnar batch. Invoked on the executor side. When writing to dynamically partitioned tables, dynamic partition columns are not included in columns to be written.
NOTE: This method will close
spillableBatch. We do this because we want to free GPU memory after the GPU has finished encoding the data but before it is written to the distributed filesystem. The GPU semaphore is released during the distributed filesystem transfer to allow other tasks to start/continue GPU processing.