Packages

t

org.apache.spark.shuffle.api

ShuffleMapOutputWriter

trait ShuffleMapOutputWriter extends AnyRef

:: Private :: A top-level writer that returns child writers for persisting the output of a map task, and then commits all of the writes as one atomic operation.

Annotations
@Private()
Source
ShuffleMapOutputWriter.java
Since

3.0.0

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ShuffleMapOutputWriter
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def abort(error: Throwable): Unit

    Abort all of the writes done by any writers returned by #getPartitionWriter(int).

    Abort all of the writes done by any writers returned by #getPartitionWriter(int).

    This should invalidate the results of writing bytes. This can also close any resources and clean up temporary state if necessary.

  2. abstract def commitAllPartitions(checksums: Array[Long]): MapOutputCommitMessage

    Commits the writes done by all partition writers returned by all calls to this object's #getPartitionWriter(int), and returns the number of bytes written for each partition.

    Commits the writes done by all partition writers returned by all calls to this object's #getPartitionWriter(int), and returns the number of bytes written for each partition.

    This should ensure that the writes conducted by this module's partition writers are available to downstream reduce tasks. If this method throws any exception, this module's #abort(Throwable) method will be invoked before propagating the exception.

    Shuffle extensions which care about the cause of shuffle data corruption should store the checksums properly. When corruption happens, Spark would provide the checksum of the fetched partition to the shuffle extension to help diagnose the cause of corruption.

    This can also close any resources and clean up temporary state if necessary.

    The returned commit message is a structure with two components:

    1) An array of longs, which should contain, for each partition from (0) to (numPartitions - 1), the number of bytes written by the partition writer for that partition id.

    2) An optional metadata blob that can be used by shuffle readers.

    checksums

    The checksum values for each partition (where checksum index is equivalent to partition id) if shuffle checksum enabled. Otherwise, it's empty.

  3. abstract def getPartitionWriter(reducePartitionId: Int): ShufflePartitionWriter

    Creates a writer that can open an output stream to persist bytes targeted for a given reduce partition id.

    Creates a writer that can open an output stream to persist bytes targeted for a given reduce partition id.

    The chunk corresponds to bytes in the given reduce partition. This will not be called twice for the same partition within any given map task. The partition identifier will be in the range of precisely 0 (inclusive) to numPartitions (exclusive), where numPartitions was provided upon the creation of this map output writer via long, int).

    Calls to this method will be invoked with monotonically increasing reducePartitionIds; each call to this method will be called with a reducePartitionId that is strictly greater than the reducePartitionIds given to any previous call to this method. This method is not guaranteed to be called for every partition id in the above described range. In particular, no guarantees are made as to whether or not this method will be called for empty partitions.

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 clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped