DataFusion weekly project plan (Andrew Lamb) - May 6, 2024
Follow on to https://github.com/apache/datafusion/issues/10283
My (personal) North ⭐ : 1000 projects are built using DataFusion 📈
It would be great for other contributors to DataFusion who plan non trivial work could try to make them visible somehow as well 🙏 (feel free to copy / modify the format)
My Highlights from Last Week
- We have completed all subtasks of https://github.com/apache/arrow-datafusion/issues/9691 and expect that we will publish the blog https://github.com/apache/datafusion/issues/10135 next week
- We made planning (even) faster with several more PRs for https://github.com/apache/datafusion/issues/9637 (and [this pr](https://github.com/apache/datafusion/pull/10356 gets another 10% faster)). Thanks @dmitrybugakov, @emgeee, @rohitrastogi,
- Turned on parquet bloom filter read support by default. Thanks @lewiszlw
- Arrow
StringViewArraysupport is coming (this pr 🙏 @RinChanNOWWW and [this pr](https://github.com/apache/arrow-rs/pull/5707] from @ClSlaid ). - @jayzhan211 is moving https://github.com/apache/datafusion/issues/8708 forward (e.g. this pr)
- New sqlparser release: https://github.com/sqlparser-rs/sqlparser-rs/issues/1214
- @suremarc added some more very cool sort support: https://github.com/apache/datafusion/pull/9593
Looking for help
- Reviews of https://github.com/apache/datafusion/pull/10330 and https://github.com/apache/datafusion/pull/10356
- Someone to work on https://github.com/apache/datafusion/issues/6747 (there is a draft PR as @timsaucer hit this last week working with window functions
My (personal) plans for this week
- [ ] Complete removing copies to make planning faster: https://github.com/apache/arrow-datafusion/issues/9637
- [x] Help with https://github.com/apache/datafusion/issues/10217 with @andygrove
- [ ] Get https://github.com/apache/arrow-rs/pull/5619 merged (which I think will help StringViewArray implementation along)
- [ ] Document
ParquetExecmore (so it is clear / easier to understand what is already supported) - [ ] https://github.com/apache/arrow-datafusion/issues/9929 (likely not this week)
Project Queue (list of future projects)
Not at the moment
Projects I plan to help actively help review / plan
- [ ] https://github.com/apache/arrow-rs/issues/5374 (I am struggling to find time, but we are making progress, slowly)
- [ ] https://github.com/apache/arrow-datafusion/issues/9494
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 that I think are strategically important
- Other new features / additions to functionality (note this is the lowest)
The top strategically important projects in my head are:
- 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)
- Anything that improves DataFusion's quality such as bug fixes, and improved / expanded tests, etc
- Making function packages modular and easier to mix/match
- Improved performance (with benchmarks)
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
Review Queue:
- [x] https://github.com/apache/datafusion/pull/10354
- [x] https://github.com/apache/datafusion/pull/10391
Review Queue:
- [x] https://github.com/apache/datafusion/pull/10396
- [x] https://github.com/apache/datafusion/pull/10386
- [x] https://github.com/apache/datafusion/pull/10404
- [x] https://github.com/apache/datafusion/pull/10117
Queue
- [ ] https://github.com/apache/datafusion/pull/10304
- [ ] https://github.com/apache/datafusion/pull/10381
Next week: https://github.com/apache/datafusion/issues/10482