Support aggregate functions to better handle timeseries data
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 195
Description
Some of the datasets store value of an entity (ex: humidity/temperature readings of a storage unit, Status of a device) over time. The values are recorded periodically, may not be very granular. It would be great to have some of the following timeseries functions to analyze the trend over time.
- time_bucket_gapfill() => Fills data for missing time buckets.
- Functions to fill data: zero_fill() -> Fill missing buckets with zero; locf() => Fill from previous value; interpolation.
- Extrapolation functions for time series forecasting.
- Aggregate functions to chose value for a time bucket such as first() / last() along with avg and percentile functions.
cc @elonazoulay
Contributor guide
Research direction
The issue names no files, tests, or entry points. First clarify which time-series functions and aggregation behavior are in scope, then locate Pinot's aggregate-function implementation and relevant tests; done means the selected functions support the requested time-bucket analysis with coverage for missing data and aggregation semantics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100