Skip to content

Latest commit

 

History

History
20 lines (13 loc) · 1.17 KB

File metadata and controls

20 lines (13 loc) · 1.17 KB

analytics-framework

Shared library containing the SPI interfaces and core types for the analytics engine. All plugins depend on this library — it defines the contracts but contains no implementation logic.

SPI Interfaces

  • QueryPlanExecutorPlugin — Factory for creating a QueryPlanExecutor from discovered back-end plugins.
  • AnalyticsBackEndPlugin — Extension point for native execution engines (DataFusion, Lucene, etc.). Exposes engine name, bridge, and capabilities.
  • AnalyticsFrontEndPlugin — Marker interface for query language front-ends (PPL, SQL). Discovered by the hub for lifecycle tracking.
  • SchemaProvider — Functional interface that builds a Calcite SchemaPlus from cluster state.

Core Types

  • QueryPlanExecutor — Executes a Calcite RelNode plan fragment and returns result rows.
  • EngineBridge<T> — JNI/native boundary for engine-specific plan conversion and execution (e.g., Substrait → Arrow batches).
  • AnalyticsEngineContext — Provides schema and aggregated operator table to front-ends for parsing and validation.

Dependencies

Calcite and Arrow — no dependency on the OpenSearch server module.