-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Follow on to #11601
My (personal) North ⭐ : 1000 projects are built using DataFusion 📈
It would be great for other contributors to DataFusion to to make them visible somehow as well 🙏 (feel free to copy / modify the format of this ticket)
External news
- DataFusion 40.0.0 blog released: https://datafusion.apache.org/blog/2024/07/24/datafusion-40.0.0/
Major Discussions (Please Take a Look)
- Logical Types: [Proposal] Decouple logical from physical types #11513 from @notfilippo
- Roadmap discussion (TLDR; performance): 2024 Q3-Q4 Roadmap? #11442
Upcoming Meetups
- New York, NY, USA DataFusion Meetup: Tuesday Sep 17th 2024, 5:30PM - 8:30PM Manhattan #11213
- DataFusion Belgrade Meetup 2024/09/27 #11431
Highlights last week
- Merged Split out catalog (and change
TableProvider
): Extract catalog API to separate crate, changeTableProvider::scan
to take a trait rather thanSessionState
#11516 from @findepi - Updated to arrow 52.2.0: Update to arrow/parquet
52.2.0
#11691 - @samuelcolvin started improving performance: String search kernel optimisations arrow-rs#6107
- @korowa created a 👌 PR to improve high cardinality aggregates Skipping partial aggregation when it is not helping for high cardinality aggregates #11627
CsvExecBuilder
from @connec : AddCsvExecBuilder
for creatingCsvExec
#11633- Expr builders for Windows and Aggregate: Consistent API to set parameters of aggregate and window functions (
AggregateExt
-->ExprFunctionExt
) #11550 (thanks @timsaucer and @jayzhan211)
My (personal) plans for this week
- Help along performance projects (partial aggregation, string view)
- Avoid extra copies in
CoalesceBatchesExec
to improve performance #7957 - Work down the review backlogs (arrow-rs backlog is going in the wrong direction 😭 )
- File follow on tickets for outstanding projects like Update ClickBench benchmarks with DataFusion 40 #11567, and the physical optimizer move
Projects I plan to help actively help review / push forward
- Add
ParquetMetadataWriter
allow ad-hoc encoding ofParquetMetadata
arrow-rs#6000 , with @etseidl and @adriangb - High Cardinality Grouping: [Epic] High cardinality aggregation performance wishlist #11679
- User defined aggregates over the line ([Epic] Unify
AggregateFunction
Interface (remove built in list ofAggregateFunction
s), improve the system #8708) - thanks to @Rachelint and @jcsherin and @edmondop and @jayzhan211). I think we are - StringView integration -- we are very close (see Merge
string-view2
branch: reading from parquet up to 2x faster for some ClickBench queries (not on by default) #11667) with @XiangpengHao @a10y and others
Algorithm for (my) prioritizing PR reviews
Note there are many committers who can and do review and merge PRs, so this is not the priorities of the project as a whole, just the approximate algorithm I use to prioritize my own time.
Priority:
- Bug fixes (where something is just incorrect), especially regressions (where it used to work and now does not)
- Improvements directly related to features needed for InfluxDB (my employer)
- Documentation and test improvements (I view these as very strategically important)
- PRs for other features I think are strategically important (See below)
- Other new features / additions to functionality (note this is the lowest on purpose)
The top strategically important projects in my head are:
- Improved performance (with benchmarks -- this is higher in my mind now)
- Anything that improves DataFusion's quality such as bug fixes, and improved / expanded tests, etc
- Anything that makes it easier to use DataFusion as a user (docs, examples, better APIs, etc), including Getting started guide for new users (who want to use DataFusion in their project)
Thus, if you are interested in contributing to DataFusion and are interested in a fast turn around time I would recommend looking into bug fixes / test improvements / documentation or the projects named above.
If you propose adding new functionality, especially if the PR is large/complex and not connected to a wider need, the review cycle will likely be longer. You can make it a shorter cycle by looking at the comments on other recent PRs and following the same model (e.g. ensure there are tests in sqllogictest for example, the CI passes, includes documentation, etc)
Background
The idea of this ticket is make my plans for DataFusion visible, largely for my own personal organizational needs, but also to:
- Communicate / coordinate in the community
- Help provide an interesting summary of what is happening in DataFusion this week (both for my future self and others)