Class RuntimeFilterRecordBatch
java.lang.Object
org.apache.drill.exec.record.AbstractRecordBatch<T>
org.apache.drill.exec.record.AbstractUnaryRecordBatch<T>
org.apache.drill.exec.record.AbstractSingleRecordBatch<RuntimeFilterPOP>
org.apache.drill.exec.physical.impl.filter.RuntimeFilterRecordBatch
- All Implemented Interfaces:
AutoCloseable
,Iterable<VectorWrapper<?>>
,CloseableRecordBatch
,RecordBatch
,VectorAccessible
A RuntimeFilterRecordBatch steps over the ScanBatch. If the ScanBatch
participates in the HashJoinBatch and can be applied by a RuntimeFilter, it
will generate a filtered SV2, otherwise will generate a same
recordCount-originalRecordCount SV2 which will not affect the Query's
performance ,but just do a memory transfer by the later RemovingRecordBatch
op.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.drill.exec.record.AbstractRecordBatch
AbstractRecordBatch.BatchState
Nested classes/interfaces inherited from interface org.apache.drill.exec.record.RecordBatch
RecordBatch.IterOutcome
-
Field Summary
Fields inherited from class org.apache.drill.exec.record.AbstractSingleRecordBatch
incoming
Fields inherited from class org.apache.drill.exec.record.AbstractUnaryRecordBatch
callBack
Fields inherited from class org.apache.drill.exec.record.AbstractRecordBatch
batchStatsContext, container, context, oContext, popConfig, state, stats, unionTypeEnabled
Fields inherited from interface org.apache.drill.exec.record.RecordBatch
MAX_BATCH_ROW_COUNT
-
Constructor Summary
ConstructorsConstructorDescriptionRuntimeFilterRecordBatch
(RuntimeFilterPOP pop, RecordBatch incoming, FragmentContext context) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
protected RecordBatch.IterOutcome
doWork()
void
dump()
Perform dump of this batch's state to logs.Gets the FragmentContext of the current query fragment.int
Get the number of records.protected boolean
void
Methods inherited from class org.apache.drill.exec.record.AbstractSingleRecordBatch
getFinalOutcome, getIncoming
Methods inherited from class org.apache.drill.exec.record.AbstractUnaryRecordBatch
cancelIncoming, getLastKnownOutcome, handleNullInput, innerNext, setLastKnownOutcome
Methods inherited from class org.apache.drill.exec.record.AbstractRecordBatch
buildSchema, cancel, checkContinue, getContainer, getOutgoingContainer, getPopConfig, getRecordBatchStatsContext, getSchema, getValueAccessorById, getValueVectorId, getWritableBatch, isRecordBatchStatsLoggingEnabled, iterator, next, next, next, schemaChangeException, schemaChangeException
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
RuntimeFilterRecordBatch
public RuntimeFilterRecordBatch(RuntimeFilterPOP pop, RecordBatch incoming, FragmentContext context) throws OutOfMemoryException - Throws:
OutOfMemoryException
-
-
Method Details
-
getContext
Description copied from interface:RecordBatch
Gets the FragmentContext of the current query fragment. Useful for reporting failure information or other query-level information.- Specified by:
getContext
in interfaceRecordBatch
- Overrides:
getContext
in classAbstractRecordBatch<RuntimeFilterPOP>
-
getRecordCount
public int getRecordCount()Description copied from interface:VectorAccessible
Get the number of records.- Returns:
- number of records
-
getSelectionVector2
- Specified by:
getSelectionVector2
in interfaceVectorAccessible
- Overrides:
getSelectionVector2
in classAbstractRecordBatch<RuntimeFilterPOP>
-
getSelectionVector4
- Specified by:
getSelectionVector4
in interfaceVectorAccessible
- Overrides:
getSelectionVector4
in classAbstractRecordBatch<RuntimeFilterPOP>
-
doWork
- Specified by:
doWork
in classAbstractUnaryRecordBatch<RuntimeFilterPOP>
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Overrides:
close
in classAbstractRecordBatch<RuntimeFilterPOP>
-
setupNewSchema
protected boolean setupNewSchema()- Specified by:
setupNewSchema
in classAbstractUnaryRecordBatch<RuntimeFilterPOP>
-
dump
public void dump()Description copied from interface:RecordBatch
Perform dump of this batch's state to logs. -
updateStats
public void updateStats()
-