See: Description
| Interface | Description |
|---|---|
| MetadataProvider |
Interface for retrieving and/or creating metadata given a vector.
|
| TupleModel |
Common interface to access a tuple backed by a vector container or a
map vector.
|
| TupleModel.ColumnModel |
Common interface to access a column vector, its metadata, and its
tuple definition (for maps.) Provides a visitor interface for common
vector tasks.
|
| TupleModel.RowSetModel |
Tuple-model interface for the top-level row (tuple) structure.
|
| Class | Description |
|---|---|
| BaseTupleModel |
Base implementation for a tuple model which is common to the "single"
and "hyper" cases.
|
| BaseTupleModel.BaseColumnModel | |
| ContainerVisitor<R,A> | |
| MetadataProvider.ArraySchemaCreator | |
| MetadataProvider.ArraySchemaRetrieval | |
| MetadataProvider.MetadataCreator | |
| MetadataProvider.MetadataRetrieval | |
| MetadataProvider.VariantSchemaCreator | |
| MetadataProvider.VariantSchemaRetrieval | |
| MetadataProvider.VectorDescrip | |
| ReaderBuilder | |
| ReaderIndex |
Row set index base class used when indexing rows within a row
set for a row set reader.
|
TupleMetadata and ColumnMetadata,
with allocation hints that goes beyond the MaterializedField
used by value vectors.
In an ideal world, this structure would not be necessary; the vectors could, by themselves, provide the needed structure. However, vectors are used in many places, in many ways, and are hard to evolve. Further, Drill may eventually choose to move to Arrow, which would not have the structure provided here.
A set of visitor classes provide the logic to traverse the vector structure, avoiding the need for multiple implementations of vector traversal. (Traversal is needed because maps contain vectors, some of which can be maps, resulting in a tree structure. Further, the API provided by containers (a top-level tuple) differs from that of a map vector (nested tuple.) This structure provides a uniform API for both cases.
Three primary tasks provided by this structure are:
Drill supports two kinds of batches, reflected by two implementations of the structure:
hyper package.Copyright © 2021 The Apache Software Foundation. All rights reserved.