Skip to content
Opensource internals
  • Posts

Planning

DataFusion's Interval Analysis: How `BETWEEN` Becomes a Scalar Range and a Selectivity Number

Oct 21, 2026 12 min read Jay Hubbert

DataFusion desugars BETWEEN into two comparisons, propagates the implied range through an interval DAG, and estimates selectivity from the ratio of interval cardinalities.

DatafusionPlanningPerformanceInternals

Read more →

DataFusion's PruningPredicate: Turning a Filter into a Per-File 'Can This Possibly Match?' Test

Oct 21, 2026 19 min read Jay Hubbert

DataFusion rewrites filters into min/max expressions over per-container statistics and evaluates them in one vectorized batch across thousands of files.

DatafusionPlanningPerformanceInternals

Read more →

HashJoin vs SortMergeJoin vs NestedLoopJoin: What DataFusion Actually Uses Statistics For

Oct 21, 2026 19 min read Jay Hubbert

DataFusion chooses the join algorithm from predicate shape, not cardinality; statistics then pick the build side, the partition mode, and the output row count.

DatafusionPlanningPerformanceInternals

Read more →

Inside DataFusion's ListingTable: Listing an Object Store in Parallel and Turning Files into FileGroups

Oct 21, 2026 20 min read Jay Hubbert

DataFusion lists object-store prefixes, prunes partitions by path, fetches file metadata concurrently, and packs the surviving files into FileGroups.

DatafusionPlanningPerformanceInternals

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·