public class OperatorRecordBatch extends Object implements CloseableRecordBatch
Note that downstream operators make an assumption that the same vectors will appear from one batch to the next. That is, not only must the schema be the same, but if column "a" appears in two batches, the same value vector must back "a" in both batches. The TransferPair abstraction fails if different vectors appear across batches.
RecordBatch.IterOutcomeMAX_BATCH_ROW_COUNT| Constructor and Description |
|---|
OperatorRecordBatch(FragmentContext context,
PhysicalOperator config,
OperatorExec opExec,
boolean enableSchemaBatch) |
| Modifier and Type | Method and Description |
|---|---|
void |
cancel()
Informs child operators that no more data is needed.
|
void |
close() |
void |
dump()
Perform dump of this batch's state to logs.
|
FragmentContext |
fragmentContext() |
VectorContainer |
getContainer()
Return the internal vector container
|
FragmentContext |
getContext()
Gets the FragmentContext of the current query fragment.
|
VectorContainer |
getOutgoingContainer() |
int |
getRecordCount()
Get the number of records.
|
BatchSchema |
getSchema()
Gets the current schema of this record batch.
|
SelectionVector2 |
getSelectionVector2() |
SelectionVector4 |
getSelectionVector4() |
VectorWrapper<?> |
getValueAccessorById(Class<?> clazz,
int... ids) |
TypedFieldId |
getValueVectorId(SchemaPath path)
Gets the value vector type and ID for the given schema path.
|
WritableBatch |
getWritableBatch()
Gets a writable version of this batch.
|
Iterator<VectorWrapper<?>> |
iterator() |
RecordBatch.IterOutcome |
next()
Updates the data in each Field reading interface for the next range of
records.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitforEach, spliteratorpublic OperatorRecordBatch(FragmentContext context, PhysicalOperator config, OperatorExec opExec, boolean enableSchemaBatch)
public FragmentContext getContext()
RecordBatchgetContext in interface RecordBatchpublic FragmentContext fragmentContext()
public BatchSchema getSchema()
RecordBatch
May be called only when the most recent call to RecordBatch.next(), if any,
returned RecordBatch.IterOutcome.OK_NEW_SCHEMA or RecordBatch.IterOutcome.OK.
The schema changes when and only when RecordBatch.next() returns
RecordBatch.IterOutcome.OK_NEW_SCHEMA.
getSchema in interface RecordBatchgetSchema in interface VectorAccessiblepublic int getRecordCount()
VectorAccessiblegetRecordCount in interface VectorAccessiblepublic VectorContainer getOutgoingContainer()
getOutgoingContainer in interface RecordBatchpublic TypedFieldId getValueVectorId(SchemaPath path)
RecordBatchIterable<ValueVector>.getValueVectorId in interface RecordBatchgetValueVectorId in interface VectorAccessiblepath - The path where the vector should be located.public VectorWrapper<?> getValueAccessorById(Class<?> clazz, int... ids)
getValueAccessorById in interface RecordBatchgetValueAccessorById in interface VectorAccessiblepublic WritableBatch getWritableBatch()
RecordBatchgetWritableBatch in interface RecordBatchpublic SelectionVector2 getSelectionVector2()
getSelectionVector2 in interface VectorAccessiblepublic SelectionVector4 getSelectionVector4()
getSelectionVector4 in interface VectorAccessiblepublic Iterator<VectorWrapper<?>> iterator()
iterator in interface Iterable<VectorWrapper<?>>public void cancel()
RecordBatch
The operator which triggers the cancel MUST send a NONE
status downstream, or throw an exception. It is not legal to
call next() on an operator after calling its
cancel() method.
cancel in interface RecordBatchpublic RecordBatch.IterOutcome next()
RecordBatch
Once a RecordBatch's next() has returned RecordBatch.IterOutcome.NONE
or IterOutcome#STOP, the consumer should no longer call
next(). Behavior at this point is undefined and likely to
throw an exception.
See RecordBatch.IterOutcome for the protocol (possible sequences of return
values).
next in interface RecordBatchpublic void close()
close in interface AutoCloseablepublic VectorContainer getContainer()
RecordBatchgetContainer in interface RecordBatchpublic void dump()
RecordBatchdump in interface RecordBatchCopyright © 2021 The Apache Software Foundation. All rights reserved.