End-to-end IPL analytics project built with Apache Spark (PySpark) on Databricks.
It performs distributed data ingestion, cleaning, feature engineering, Spark SQL analysis with window functions, and produces visual insights using Matplotlib/Seaborn. Data is read directly from Amazon S3.
Tech: Apache Spark, Databricks, PySpark (DataFrames + SQL + Window), AWS S3, Matplotlib, Seaborn
- Ingest raw IPL datasets at scale (ball-by-ball, matches, players, player-match, teams)
- Build typed schemas and create Temp Views for SQL exploration
- Analyze performance trends (top batters per season, powerplay efficiency, team win patterns, toss impact, etc.)
- Use Spark SQL with window functions for season ranking and aggregated KPIs
- Produce clear plots for leadership-ready insights
The notebook reads CSVs from S3 (you can change paths if needed):
s3://ipl-data-analysis-project/Ball_By_Ball.csvs3://ipl-data-analysis-project/Match.csvs3://ipl-data-analysis-project/Player.csvs3://ipl-data-analysis-project/Player_match.csvs3://ipl-data-analysis-project/Team.csv
Temp views created in Spark:
ball_by_ball,match,player,player_match,team
IPL-DataAnalysis-ApacheSpark.ipynb— main Databricks/Colab-compatible PySpark notebook- Creates a
SparkSession - Defines StructType schemas
- Loads CSVs from S3 with headers
- Registers Temp Views
- Runs Spark SQL queries (with window/ranking)
- Generates visualizations (Matplotlib/Seaborn)
- Creates a
-
Create/Attach a Cluster
- Databricks Runtime: 12.x–14.x (includes Spark + Python)
- Libraries typically available by default; if not, install
matplotlibandseabornvia cluster Libraries or%pip install.
-
AWS S3 Access
- If your workspace has an instance profile / Unity Catalog set up for S3, you can read directly.
- Otherwise, set credentials at the cluster or notebook level (e.g., secret scope) and use
spark.conf.set(...)or Databricks mounts as per your org’s policy.
-
Import the Notebook
Workspace → Import → UploadIPL-DataAnalysis-ApacheSpark.ipynb.
-
Run
- Attach the cluster and run all cells.
- Verify the S3 paths (update if your bucket or folder names differ).