Packages

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.

Linear Supertypes
HostBufferConsumer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ColumnarOutputWriter
  2. HostBufferConsumer
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ColumnarOutputWriter(context: TaskAttemptContext, dataSchema: StructType, rangeName: String, includeRetry: Boolean)

Abstract Value Members

  1. abstract def path(): String

    The file path to write.

    The file path to write. Invoked on the executor side.

  2. abstract val tableWriter: TableWriter
    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def bufferBatchAndClose(batch: ColumnarBatch): Long
    Attributes
    protected[this]
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. 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.

  8. val conf: Configuration
    Attributes
    protected
  9. def done(): Unit
    Definition Classes
    HostBufferConsumer
  10. def dropBufferedData(): Unit
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def getOutputStream: FSDataOutputStream
    Attributes
    protected
  16. def handleBuffer(buffer: HostMemoryBuffer, len: Long): Unit
    Definition Classes
    ColumnarOutputWriter → HostBufferConsumer
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. val outputStream: FSDataOutputStream
    Attributes
    protected
  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def throwIfRebaseNeededInExceptionMode(batch: ColumnarBatch): Unit
    Attributes
    protected
  25. def toString(): String
    Definition Classes
    AnyRef → Any
  26. def transformAndClose(cb: ColumnarBatch): ColumnarBatch

    Apply any necessary casts before writing batch out

  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  30. def writeBufferedData(): Unit
  31. 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.

Inherited from HostBufferConsumer

Inherited from AnyRef

Inherited from Any

Ungrouped