object ShufflePartitionsUtil extends Logging
- Alphabetic
- By Inheritance
- ShufflePartitionsUtil
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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 val MERGED_PARTITION_FACTOR: Double(1.2)
- final val SMALL_PARTITION_FACTOR: Double(0.2)
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
coalescePartitions(mapOutputStatistics: Array[MapOutputStatistics], advisoryTargetSize: Long, minNumPartitions: Int): Seq[ShufflePartitionSpec]
Coalesce the partitions from multiple shuffles.
Coalesce the partitions from multiple shuffles. This method assumes that all the shuffles have the same number of partitions, and the partitions of same index will be read together by one task.
The strategy used to determine the number of coalesced partitions is described as follows. To determine the number of coalesced partitions, we have a target size for a coalesced partition. Once we have size statistics of all shuffle partitions, we will do a pass of those statistics and pack shuffle partitions with continuous indices to a single coalesced partition until adding another shuffle partition would cause the size of a coalesced partition to be greater than the target size.
For example, we have two shuffles with the following partition size statistics:
- shuffle 1 (5 partitions): [100 MiB, 20 MiB, 100 MiB, 10MiB, 30 MiB]
- shuffle 2 (5 partitions): [10 MiB, 10 MiB, 70 MiB, 5 MiB, 5 MiB] Assuming the target size is 128 MiB, we will have 4 coalesced partitions, which are:
- coalesced partition 0: shuffle partition 0 (size 110 MiB)
- coalesced partition 1: shuffle partition 1 (size 30 MiB)
- coalesced partition 2: shuffle partition 2 (size 170 MiB)
- coalesced partition 3: shuffle partition 3 and 4 (size 50 MiB)
- returns
A sequence of CoalescedPartitionSpecs. For example, if partitions [0, 1, 2, 3, 4] split at indices [0, 2, 3], the returned partition specs will be: CoalescedPartitionSpec(0, 2), CoalescedPartitionSpec(2, 3) and CoalescedPartitionSpec(3, 5).
-
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
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
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()
-
def
splitSizeListByTargetSize(sizes: Seq[Long], targetSize: Long): Array[Int]
Given a list of size, return an array of indices to split the list into multiple partitions, so that the size sum of each partition is close to the target size.
Given a list of size, return an array of indices to split the list into multiple partitions, so that the size sum of each partition is close to the target size. Each index indicates the start of a partition.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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()