DRILL-8552: Add Storage Plugin for Apache Accumulo - #3067
Open
cgivre wants to merge 5 commits into
Open
Conversation
This PR introduces a new storage plugin for Apache Accumulo, enabling Drill to query Accumulo tables using standard SQL. Features: - Full SQL query support for Accumulo tables - Dynamic schema discovery (column families as MAPs) - Filter pushdown (row key ranges to Accumulo Range scans) - Projection pushdown (column family/qualifier selection) - Limit pushdown (early scan termination) - Sort pushdown (ORDER BY row_key uses natural ordering) Authentication modes: - PASSWORD: Username/password authentication - KERBEROS + SHARED_USER: Service principal for all queries - KERBEROS + USER_IMPERSONATION: Delegation tokens for per-user identity - USER_TRANSLATION: Per-user Accumulo credentials from CredentialsProvider Key components: - AccumuloStoragePlugin/Config: Plugin configuration and lifecycle - AccumuloConnectionManager: Centralized auth and client management - AccumuloGroupScan/SubScan: Distributed scan planning - AccumuloRecordReader: Data reading and vector population - AccumuloPushFilterIntoScan: Filter pushdown optimizer rule - AccumuloPushSortIntoScan: Sort pushdown optimizer rule - DelegationTokenInfo: Serializable token wrapper for distributed execution Tested with Accumulo 2.1.4 LTS. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Pass the sortDescending flag to the 10-arg AccumuloScanSpec constructor in createScanSpec() and mergeScanSpecs(), which were still using the old 9-arg signature and failing compilation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DRILL-8552: Add Storage Plugin for Apache Accumulo
Description
This PR introduces a new storage plugin for Apache Accumulo, enabling Drill to query Accumulo tables using standard SQL.
Features:
Authentication modes:
Key components:
Documentation
See README.md
Testing
Added extensive unit tests.