Repository navigation
DataFusion weekly project plan (Andrew Lamb) - Feb 12, 2024聽#9200
Description
Follow on to Feb 5, 2024
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
- Comet (the spark accelerator) completed IP clearance Initial PR聽datafusion-comet#1
- DataFusion SIGMOD paper about DataFusion was accepted
- We are getting close to beginning the large scale "extract scalar functions from the core" Organization of functions. Feedback most welcome
- Lots of good new background / docs about what a PruningPredicate is: (thanks @comphead, @Jefffrey and @appletreeisyellow for the reviews and feedback): example pruning.rs and docs
Boilerplate Introduction
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
My (personal) goals for this project
1000 projects are built using DataFusion 馃搱
My (personal) plans for this week
- get one or two more PRs with more extracted functions [DISCUSS] organization of functions聽#9100 and file tickets to track the rest of the work
- Get PR ready for review to improve ClickBench performance Faster String Aggregation (this is my personal fun project and I am so close)
- More advanced pruning predicates, specifically Support "A column is known to be entirely NULL" in
PruningPredicate聽#9171
Project Queue (list of future projects)
- SIGMOD paper feedback: Finalize SIGMOD 2024 paper ~(if accepted)~聽#8373
- Organize agenda for DataFusion meetup UPDATE: VENUE IS FULL Invitation: Mar 25, 2024 DataFusion meetup before the DataCouncil March 2024 in Austin TX聽#8522
- Improved Statistics: Epic: Statistics improvements聽#8227 (specifically, Introduce a way to represent constrained statistics / bounds on values in Statistics聽#8078)
Projects I plan to help actively help review / plan
- Improved planning speed [Epic] A collection of issues to improve planning performance / speed / efficiency聽#5637 with @matthewmturner
- Hardening Recursive CTEs Add support for recursive CTEs聽#462 with @matthewgapp (All that remains is to get memory limiting in place and we could enable this by default). If I don't see motion this week I'll probably file a ticket to track the remaining work explicitly.
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: [EPIC] Unify Function Interface (remove
BuiltInScalarFunction)聽#8045 - Improving performance of aggregation - especially high cardinality groupings, where we still lag state of the art by 2x
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, 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)
Activity
alamb commentedon Feb 12, 2024
DataFusion
to_charfunction implementation using chrono formats聽#9181SessionContext::read_batches聽#9197to_datefunction聽#9019alamb commentedon Feb 13, 2024
DataFusion
IS NOT NULLpredicates inPruningPredicate聽#9208FixedSizeListType Coercion聽#9108TreeNodetransform and rewrite APIs聽#8891Watching
TreeNodetransform and rewrite APIs聽#8891Sqlparser
DECLAREsyntax for snowflake and bigquery聽datafusion-sqlparser-rs#1122alamb commentedon Feb 16, 2024
Review Queue
DataFusion
ArrayAndElementAndOptionalIndexfor proper casting inarray_position聽#9233 (review)Sqlparser:
DECLAREsyntax for snowflake and bigquery聽datafusion-sqlparser-rs#1122alamb commentedon Feb 19, 2024
BTW I am on vacation the week of Feb 19, so I will be reviewing stuff as I can. but likely will not make as much progress as most weeks.
I'll be back the following week as normal