public interface ScanOperatorEvents
This interface decouples the scan implementation from the generic tasks needed to implement Drill's Volcano iterator protocol for operators, and Drill's schema and batch semantics. A scan implementation need only implement this interface to add plugin-specific scan behavior.
While this interface allows a wide variety of implementations, the intent is
that most actual scanners will use the "managed" framework that handles the
routine projection, vector management and other tasks that tend to be common
across scanners. See ScanSchemaOrchestrator
for the managed
framework.
Modifier and Type | Method and Description |
---|---|
void |
bind(OperatorContext context)
Build the scan-level schema from the physical operator select list.
|
void |
close()
Called when the scan operator itself is closed.
|
RowBatchReader |
nextReader()
A scanner typically readers multiple data sources (such as files or
file blocks.) A batch reader handles each read.
|
void bind(OperatorContext context)
After this call, the schema manager should be ready to build a reader-specific schema for each reader as it is opened.
context
- the operator context for the scan operatorRowBatchReader nextReader()
The preferred implementation is to create each batch reader in this call to minimize resource usage. Production queries may read thousands of files or blocks, so incremental reader creation can be far more efficient than creating readers at the start of the scan.
void close()
Copyright © 1970 The Apache Software Foundation. All rights reserved.