Package org.apache.drill.exec.physical.rowSet
package org.apache.drill.exec.physical.rowSet
Provides a set of tools to work with row sets.
A row set is a batch of Drill vectors,
often called a "record batch." However, a record batch, in Drill, means
not just the data, but also an operator on that data. The classes
here work with the data itself, and can be used to test implementations
of things such as code generated classes and so on.
The classes include tools for reading and writing row sets, comparing actual and expected results, and so on.
Drill defines a variety of record batch semantics, modeled here as distinct row set classes:
- RowSet
- The abstract definition of a row set that defines operations available on all row sets.
- SingleRowSet (abstract)
- Represents a row set that contains a single record batch (the typical case.
- DirectRowSet
- A read-only single row set without a selection vector.
- IndirectRowSet
- A read-only, single row set with an SV2. Note that the SV2 itself is writable (such as for sorting.)
- ExtendableRowSet
- A write-only, single row set used to create a new row set. Because of the way Drill sets row counts, an extendable row set cannot be read; instead at the completion of the write the extendable row set becomes a direct or indirect row set.
- HyperRowSet
- A read-only row set made up of a collection of record batches, indexed via an SV4.
RowSetWriter
- Writes data into an extendable row set.
RowSetReader
- Reads data from any but an extendable row set.
RowSetFormatter
- Prints a row set to stdout in a CSV-like form for easy debugging.
RowSetBuilder
- Creates and populates a row set in a fluent builder style.
-
ClassDescriptionBasic implementation of a row set for both the single and multiple (hyper) varieties, both the fixed and extensible varieties.Base class for row sets backed by a single record batch.Implementation of a single row set with no indirection (selection) vector.Read-only row index into the hyper row set with batch and index values mapping via an SV4.Implements a row set wrapper around a collection of "hyper vectors." A hyper-vector is a logical vector formed by a series of physical vectors stacked on top of one another.Reader index that points to each row indirectly through the selection vector.Single row set coupled with an indirection (selection) vector, specifically an SV2.A row set is a collection of rows stored as value vectors.Single row set which is empty and allows writing.Row set comprised of multiple single row sets, along with an indirection vector (SV4).Row set that manages a single batch of rows.Fluent builder to quickly build up an row set (record batch) programmatically.Helper class to obtain string representation of RowSet.Reader for all types of row sets: those with or without a selection vector.Reader implementation for a row set.Interface for writing values to a row set.Implementation of a row set writer.