Description
Follow on to #12391
My (personal) North ⭐ : 1000 projects are built using DataFusion 📈 ( Getting closer all the time )
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
(please feel free to post a comment to this ticket if you know of something else that should be highlighted)
- @emgeee and @ameyc talk about building streaming with DataFusion: https://techontherocks.show/3
- Using StringView / German Style Strings to Make Queries Faster: Part 1 - Reading Parquet
- [Using StringView / German Style Strings to Make Queries Faster: Part 2 - String Operations](https://www.influxdata.com/blog/faster-queries-with-stringview-part-two-influxdb/
- Cross post about StringView on DataFusion blog (waiting on review Add StringViewArray blogs on the DataFusion blog datafusion-site#25)
Major Discussions (Please Take a Look)
- What features should DataFusion have? [DISCUSS] Document criteria for adding new features / what belongs in core DataFusion (e.g. sql syntax, functions, etc) #12357
Upcoming Meetups
- NYC tomorrow! New York, NY, USA DataFusion Meetup: Tuesday Sep 17th 2024, 5:30PM - 8:30PM Manhattan #11213
- Belgrade next week: DataFusion Belgrade Meetup 2024/09/27 #11431
- San Francisco on Wednesday September 25th https://lu.ma/05lyf19h
- Seattle: Mon Oct 14: https://lu.ma/tnwl866b / DISCUSSION: DataFusion Meetup in Seattle WA #10348 (comment)
Highlights from last week
- We got a much needed upgrade in interval parsing correctness thanks to Upgrade sqlparser-rs to 0.51.0, support new interval logic from
sqlparse-rs
#12222 - @waruto210 and the team at Tencent started contributing: use FileFormat::get_ext as the default file extension filter #12417 ❤
- @Rachelint made MEDIAN and other non group aggregation faster for (really) high cardinality: Impl
convert_to_state
forGroupsAccumulatorAdapter
(faster median for high cardinality aggregates) #11827 - @andygrove made the
42.0.0
release candidate and we are in the final phases of release: Release DataFusion42.0.0
#11902 - Final touches on UF8View: Update concat_ws scalar function to support Utf8View #12309 from @devanbenz Fix: Internal error in regexp_replace() for some StringView input #12203 Fix:
substr()
on StringView column's behavior is inconsistent with the old version #12383 from @2010YOUY01 - Started documenting extensions: Add 'Extensions List' page to the documentation #12420
- @Omega359 and @Abdullahsab3 supported
range
/gen_series
for intervals less than1 day
Support timestamps and steps of less than a day for range/generate_series #12400 - @Omega359 supported Add support for Utf8View, Boolean, Date32/64, int32/64 for writing hive style partitions #12283
My (personal) plans for this week
- Figure out sqlparser donation [DISCUSSION]: move sqlparser to Apache (DataFusion) governance datafusion-sqlparser-rs#1294
- Speak at NYC meetup and prepare for CMU building blocks seminar
- Get StringView enabled by default
- Hack on
dft
with @matthewmturner : https://github.com/datafusion-contrib/datafusion-dft (it is a great testbed to see how easy/hard it is to keep functions outside the core) - Work down the review backlog
Projects I plan to help actively help review / push forward
- StringView integration [Epic] Complete Initial
StringView
in DataFusion #11752 - Parquet Filtering: Return TableProviderFilterPushDown::Exact when Parquet Pushdown Enabled #4028
- High Cardinality Grouping: [Epic] High cardinality aggregation performance wishlist #11679
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 priority on purpose)
The top strategically important projects in my head are:
- 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, cleaner code, etc), including Getting started guide for new users (who want to use DataFusion in their project)
- 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. break it into small PRs, 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)