# PR ## Morsel - Issue: [Introduce morsel-driven Parquet scan #20529](https://github.com/apache/datafusion/issues/20529) - Issue: [Support Morsel output for Parquet known to be non blocking #21598](https://github.com/apache/datafusion/issues/21598) - PR: [Introduce Morselizer API, rewrite ParquetOpener to ParquetMorselizer](https://github.com/apache/datafusion/pull/21327) - PR: [Rewrite FileStream in terms of Morsel API #21342](https://github.com/apache/datafusion/pull/21342) - PR: [Refactor parquet datasource into an explicit state machine #21190](https://github.com/apache/datafusion/pull/21190) ---- # Posts - [Query Optimization - When Ordering Requirement is Satisfied?](https://akurmustafa.github.io/blogs/query_optimization_ordering_analysis/query_optimization_ordering_analysis.html) - [Using Ordering for Better Plans in Apache DataFusion](https://datafusion.apache.org/blog/2025/03/11/ordering-analysis/) - [Using Rust async for Query Execution and Cancelling Long-Running Querie](https://datafusion.apache.org/blog/2025/06/30/cancellation/) - filter & pruning - [Efficient Filter Pushdown in Parquet](https://datafusion.apache.org/blog/2025/03/21/parquet-pushdown/) - [Parquet Pruning in DataFusion: Read Only What Matters](https://datafusion.apache.org/blog/2025/03/20/parquet-pruning/) - [Dynamic Filters: Passing Information Between Operators During Execution for 25x Faster Queries](https://datafusion.apache.org/blog/2025/09/10/dynamic-filters/) - [Turning LIMIT into an I/O Optimization: Inside DataFusion’s Multi-Layer Pruning Stack](https://datafusion.apache.org/blog/2026/03/20/limit-pruning) - string view - [Using StringView / German Style Strings to Make Queries Faster: Part 1- Reading Parquet](https://datafusion.apache.org/blog/2024/09/13/string-view-german-style-strings-part-1/) - [Using StringView / German Style Strings to make Queries Faster: Part 2 - String Operations](https://datafusion.apache.org/blog/2024/09/13/string-view-german-style-strings-part-2/) - [Using Rustlang's Async Tokio Runtime for CPU-Bound Tasks](https://www.influxdata.com/blog/using-rustlangs-async-tokio-runtime-for-cpu-bound-tasks/) - [Rust Object Store Donation](https://www.influxdata.com/blog/rust-object-store-donation/)