ExternalAppendOnlyUnsafeRowArray
is an append-only array for UnsafeRows that spills content to disk when a predefined spill threshold of rows is reached.
Note
|
Choosing a proper spill threshold of rows is a performance optimization. |
ExternalAppendOnlyUnsafeRowArray
is created when:
-
WindowExec
physical operator is executed (and creates an internal buffer for window frames) -
WindowFunctionFrame
is prepared -
SortMergeJoinExec
physical operator is executed (and creates aRowIterator
for INNER and CROSS joins) and forgetBufferedMatches
-
SortMergeJoinScanner
creates an internalbufferedMatches
-
UnsafeCartesianRDD
is computed
Name | Description |
---|---|
FIXME Used when…FIXME |
|
FIXME Can grow up to numRowsSpillThreshold rows (i.e. new Used when…FIXME |
|
Used when…FIXME |
|
Used when…FIXME |
|
Used when…FIXME |
|
Used when…FIXME |
Tip
|
Enable Add the following line to
Refer to Logging. |
generateIterator(): Iterator[UnsafeRow]
generateIterator(startIndex: Int): Iterator[UnsafeRow]
Caution
|
FIXME |
add(unsafeRow: UnsafeRow): Unit
Caution
|
FIXME |
Note
|
|
ExternalAppendOnlyUnsafeRowArray
takes the following when created:
ExternalAppendOnlyUnsafeRowArray
initializes the internal registries and counters.