Spark
Run StatsForecast distributedly on top of Spark.
StatsForecast works on top of Spark, Dask, and Ray through Fugue. StatsForecast will read the input DataFrame and use the corresponding engine. For example, if the input is a Spark DataFrame, StatsForecast will use the existing Spark session to run the forecast.
A benchmark (with older syntax) can be found here where we forecasted one million timeseries in under 15 minutes.
Installation
As long as Spark is installed and configured, StatsForecast will be able
to use it. If executing on a distributed Spark cluster, make use the
statsforecast
library is installed across all the workers.
StatsForecast on Pandas
Before running on Spark, it’s recommended to test on a smaller Pandas dataset to make sure everything is working. This example also helps show the small differences when using Spark.
ds | AutoETS | |
---|---|---|
unique_id | ||
0 | 2000-08-10 | 5.261609 |
0 | 2000-08-11 | 6.196357 |
0 | 2000-08-12 | 0.282309 |
0 | 2000-08-13 | 1.264195 |
0 | 2000-08-14 | 2.262453 |
Executing on Spark
To run the forecasts distributed on Spark, just pass in a Spark
DataFrame instead. Instead of having the unique_id
as an index, it
needs to be a column because Spark has no index.
Helpful Configuration
There are some Spark-specific configurations that may help optimize the workload.