DataFusionQueryExecutorExt

Trait DataFusionQueryExecutorExt 

Source
pub trait DataFusionQueryExecutorExt: MetricsRepository {
    // Provided method
    fn execute_datafusion_query<'life0, 'async_trait>(
        &'life0 self,
        query: MetricsQuery,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<(ResultKey, AnalyzerContext)>>> + Send + 'async_trait>>
       where Self: Sync + 'async_trait,
             'life0: 'async_trait { ... }
}
Expand description

Extension trait to add DataFusion-powered query execution to any repository.

Provided Methods§

Source

fn execute_datafusion_query<'life0, 'async_trait>( &'life0 self, query: MetricsQuery, ) -> Pin<Box<dyn Future<Output = Result<Vec<(ResultKey, AnalyzerContext)>>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Executes a query using DataFusion’s optimized query engine.

This method leverages Apache Arrow’s columnar format and DataFusion’s vectorized query engine to provide significant performance improvements over manual filtering, especially for:

  • Large datasets (>10k metrics)
  • Complex filtering conditions
  • Time-range queries with sorting
  • Analytical aggregations
§Performance

Benchmarks show 3-10x performance improvement over manual filtering for datasets >1000 entries with multiple filter conditions.

Implementors§