Skip to content

DRILL-7725: Updates to the EVF2 framework#2073

Closed
paul-rogers wants to merge 2 commits intoapache:masterfrom
paul-rogers:DRILL-7725
Closed

DRILL-7725: Updates to the EVF2 framework#2073
paul-rogers wants to merge 2 commits intoapache:masterfrom
paul-rogers:DRILL-7725

Conversation

@paul-rogers
Copy link
Contributor

DRILL-7725: Updates to the EVF2 framework

Description

Includes the refinements needed to move the text (CSV) reader to the upgraded EVF (so-called "EVF2"). To avoid excessive complexity, this PR includes just the EVF2 changes. The text reader integration will appear in a separate PR. At present, no code in master yet uses EVF2.

Supports the internal implicit columns needed for the metadata framework.

Provides better support for standard conversions for text-based readers. A new FixedReceiver acts to receive text columns when the schema is known up front, as for the CSV reader. (Future versions will include a DynamicReceiver to receive columns by name, as for JSON.)

Based on suggestions from Charles, simplified how we handle files for file format plugins. The scan framework takes care of most of the work. It picks up the "compressible" attribute from the plugin, then offers a simple open() method that takes care of opening the file with the Drill file system, using the compressible option as needed. The SchemaNegotiator exposes a FileDescrip interface that handles opening the file, as well as giving access to the block offset and size, etc.

Handled a number of corner cases when a reader returns no results, but we do have a schema. Differentiated this from the case where the reader is simply empty: no data and no schema.

Documentation

N/A

Testing

Added new tests and ran all existing tests. In fact, ran all tests with the text reader converted (but the text reader code itself is not included here.)

* Supports internal implicit columns
* Better support for standard conversions
* Handle several reader corner cases
* Simplified file reader
Copy link
Member

@vvysotskyi vvysotskyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, +1

@asfgit asfgit closed this in d280d06 May 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants