Class ColumnsScanFramework
java.lang.Object
org.apache.drill.exec.physical.impl.scan.framework.ManagedScanFramework
org.apache.drill.exec.physical.impl.scan.file.FileScanFramework
org.apache.drill.exec.physical.impl.scan.columns.ColumnsScanFramework
- All Implemented Interfaces:
ScanOperatorEvents
Scan framework for a file that supports the special "columns" column.
The logic here is a bit tricky. The CSV (really, "compliant text") reader operates in multiple modes. If a header is required, then the columns array is not allowed. If the header is not loaded, then the columns array must be used.
This class combines the above semantics with the projection list from the query. It handles things like two appearances of the unadorned columns identifier, the use of the columns identifier when it is not allowed, etc.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
Implementation of the columns array schema negotiator.Nested classes/interfaces inherited from class org.apache.drill.exec.physical.impl.scan.file.FileScanFramework
FileScanFramework.FileReaderFactory, FileScanFramework.FileRowSetContext, FileScanFramework.FileScanBuilder, FileScanFramework.FileSchemaNegotiator, FileScanFramework.FileSchemaNegotiatorImpl
Nested classes/interfaces inherited from class org.apache.drill.exec.physical.impl.scan.framework.ManagedScanFramework
ManagedScanFramework.ReaderFactory, ManagedScanFramework.ScanFrameworkBuilder
-
Field Summary
Fields inherited from class org.apache.drill.exec.physical.impl.scan.framework.ManagedScanFramework
builder, context, readerFactory, scanOrchestrator
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic TupleMetadata
protected void
protected SchemaNegotiatorImpl
Methods inherited from class org.apache.drill.exec.physical.impl.scan.file.FileScanFramework
fileSystem, nextSplit, open, options
Methods inherited from class org.apache.drill.exec.physical.impl.scan.framework.ManagedScanFramework
bind, close, context, errorContext, nextReader, outputSchema, scanOrchestrator
-
Field Details
-
COLUMNS_COL
- See Also:
-
columnsArrayManager
-
-
Constructor Details
-
ColumnsScanFramework
-
-
Method Details
-
configure
protected void configure()- Overrides:
configure
in classFileScanFramework
-
newNegotiator
- Overrides:
newNegotiator
in classFileScanFramework
-
columnsSchema
-