-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Follow on to #10699
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)
External DataFusion
- DataFusion is getting lots of hilights: @philippemnoel Search and Anaytics with Postgres on the GeekNarrator: https://www.youtube.com/watch?v=aODapXAuMNI. I haven't watched this yet but hope to this week
- I found out that CMU's Advanced DB class has been using DataFusion this semeseter: https://twitter.com/andrewlamb1111/status/1796623935477354813
- @andygrove has been running comet community meetings like a 👑
Feature Highlights
- Merged example for using an external index with parquet: Example for building an external index for parquet files #10546
*ParquetExecis getting better and better: AddParquetExec::builder(), deprecateParquetExec::new#10636, feat: Update Parquet row filtering to handle type coercion #10716 (thanks @ jeffreyssmith2nd) - @Blizzara and @waynexia and @jonahgao are improving substrait support (e.g Support consuming Substrait with compound signature function names #10653)
- Listing table now pushes down predicates to directories (thanks @houqp Push down filter as table partition list prefix #10693)
- We almost have upgraded sqlparser (thanks @tisonkun !): build(deps): upgrade sqlparser to 0.47.0 #10392
- Parquet statistics tests and functionality are getting quite complete out thanks to @xinlifoobar, @Lordworms and @Weijun-H -- Fix extract parquet statistics from LargeBinary columns #10775 Avoid the usage of intermediate ScalarValue to improve performance of extracting statistics from parquet files #10711, etc
- @goldmedal began making the "query from file urls" DynamicScemaProvider available outside datafusion-cli: Move
DynamicFileCatalogback to core #10745 - Started a discussion about bringing sqlparser-rs into DataFusion project: [DISCUSSION]: move sqlparser to Apache (DataFusion) governance datafusion-sqlparser-rs#1294
My (personal) plans for this week
TLDR is I plan to complete the API for pushing down row selections into ParquetExec
- Keep hacking on [EPIC] Efficiently and correctly extract parquet statistics into ArrayRefs #10453
- API in ParquetExec to pass in RowSelections to
ParquetExec(enable custom indexes, finer grained pushdown) #9929 - Prepare for SIGMOD next week. Will record the talk Create presentation for DataFusion SIGMOD 2024 paper #10480
- Keynote presentation for SiMoD workshop at SIGMOD 2024 #10481
- Help @tustvold complete Structured ByteView Access (underlying StringView/BinaryView representation) arrow-rs#5736 (by reviewing)
Project Queue (list of future projects)
- (this weekend likely) Stop copying
Exprs and LogicalPlans so much during Common Subexpression Elimination #9873 copies (last part of [EPIC] Stop copyingLogicalPlanduring OptimizerPasses #9637) - In general, help [EPIC] Implement
StringViewArrayandBinaryViewArrayarrow-rs#5374 more actively as it seems to be stuck
Projects I plan to help actively help review / plan
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