public class LateralJoinBatch extends AbstractBinaryRecordBatch<LateralJoinPOP> implements LateralContract
LateralContract.AbstractBinaryRecordBatch.MetricAbstractRecordBatch.BatchStateRecordBatch.IterOutcomebatchMemoryManager, left, LEFT_INDEX, leftUpstream, numInputs, right, RIGHT_INDEX, rightUpstreambatchStatsContext, container, context, oContext, popConfig, state, stats, unionTypeEnabledMAX_BATCH_ROW_COUNT| Constructor and Description |
|---|
LateralJoinBatch(LateralJoinPOP popConfig,
FragmentContext context,
RecordBatch left,
RecordBatch right) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
buildSchema()
Prefetch a batch from left and right branch to know about the schema of each side.
|
protected void |
cancelIncoming() |
void |
close() |
void |
dump()
Perform dump of this batch's state to logs.
|
RecordBatch |
getIncoming()
Returns the left side incoming for the Lateral Join.
|
RecordBatch.IterOutcome |
getLeftOutcome()
Returns the current
RecordBatch.IterOutcome for the left incoming batch |
int |
getRecordCount()
Get the number of records.
|
int |
getRecordIndex()
Returns the current row index which the calling operator should process in
current incoming left record batch.
|
RecordBatch.IterOutcome |
innerNext()
Gets the left and right incoming batch and produce the output batch.
|
protected boolean |
prefetchFirstBatchFromBothSides()
Get the left and right batch during build schema phase for
LateralJoinBatch. |
void |
setMaxOutputRowCount(int outputRowCount)
Used only for testing for cases when multiple output batches are produced for same input set
|
void |
setUseMemoryManager(boolean useMemoryManager)
Used only for testing to disable output batch calculation using memory manager and instead use the static max
value set by
setMaxOutputRowCount(int) |
checkForEarlyFinish, getBatchMemoryManager, updateBatchMemoryManagerStats, verifyOutcomeToSetBatchStatecancel, checkContinue, getContainer, getContext, getOutgoingContainer, getPopConfig, getRecordBatchStatsContext, getSchema, getSelectionVector2, getSelectionVector4, getValueAccessorById, getValueVectorId, getWritableBatch, isRecordBatchStatsLoggingEnabled, iterator, next, next, next, schemaChangeException, schemaChangeExceptionclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorpublic LateralJoinBatch(LateralJoinPOP popConfig, FragmentContext context, RecordBatch left, RecordBatch right) throws OutOfMemoryException
OutOfMemoryExceptionpublic RecordBatch.IterOutcome innerNext()
innerNext in class AbstractRecordBatch<LateralJoinPOP>public void close()
close in interface AutoCloseableclose in class AbstractRecordBatch<LateralJoinPOP>public int getRecordCount()
VectorAccessiblegetRecordCount in interface VectorAccessiblepublic RecordBatch getIncoming()
leftJoinIndex.getIncoming in interface LateralContractpublic int getRecordIndex()
getRecordIndex in interface LateralContractpublic RecordBatch.IterOutcome getLeftOutcome()
RecordBatch.IterOutcome for the left incoming batchgetLeftOutcome in interface LateralContractprotected boolean prefetchFirstBatchFromBothSides()
LateralJoinBatch. If left batch sees a failure outcome then we
don't even call next on right branch, since there is no left incoming.prefetchFirstBatchFromBothSides in class AbstractBinaryRecordBatch<LateralJoinPOP>protected void buildSchema()
buildSchema in class AbstractRecordBatch<LateralJoinPOP>SchemaChangeException - if batch schema was changed during executionprotected void cancelIncoming()
cancelIncoming in class AbstractBinaryRecordBatch<LateralJoinPOP>public void setMaxOutputRowCount(int outputRowCount)
outputRowCount - - Max rows that output batch can holdpublic void setUseMemoryManager(boolean useMemoryManager)
setMaxOutputRowCount(int)useMemoryManager - - false - disable memory manager update to take effect, true enable memory manager updatepublic void dump()
RecordBatchdump in interface RecordBatchCopyright © 2021 The Apache Software Foundation. All rights reserved.