
If you enjoy DataFlint OSS please give us a ⭐️ and join our slack community for feature requests, support and more!
DataFlint OSS is a modern, user-friendly enhancement for Apache Spark that simplifies performance monitoring and debugging. It adds an intuitive tab to the existing Spark Web UI, transforming a powerful but often overwhelming interface into something easy to navigate and understand.
Looking for more? Our full solution is a Production-aware AI copilot for Apache Spark. Learn more at dataflint.io.
With DataFlint OSS, spend less time deciphering Spark Web UI and more time deriving value from your data. Make big data work better for you, regardless of your role or experience level with Spark.
After installation, you will see a "DataFlint OSS" tab in the Spark Web UI. Click on it to start using DataFlint OSS.


See Our Features for more information
Install DataFlint OSS via sbt: For Spark 3.X:
libraryDependencies += "io.dataflint" %% "spark" % "0.9.8"
For Spark 4.X:
libraryDependencies += "io.dataflint" %% "dataflint-spark4" % "0.9.8"
Then instruct spark to load the DataFlint OSS plugin:
val spark = SparkSession
.builder()
.config("spark.plugins", "io.dataflint.spark.SparkDataflintPlugin")
...
.getOrCreate()
Add these 2 configs to your pyspark session builder:
For Spark 3.X:
builder = pyspark.sql.SparkSession.builder
...
.config("spark.jars.packages", "io.dataflint:spark_2.12:0.9.8") \
.config("spark.plugins", "io.dataflint.spark.SparkDataflintPlugin") \
...
For Spark 4.X:
builder = pyspark.sql.SparkSession.builder
...
.config("spark.jars.packages", "io.dataflint:dataflint-spark4_2.13:0.9.8") \
.config("spark.plugins", "io.dataflint.spark.SparkDataflintPlugin") \
...
Alternatively, install DataFlint OSS with no code change as a spark ivy package by adding these 2 lines to your spark-submit command:
spark-submit
--packages io.dataflint:spark_2.12:0.9.8 \
--conf spark.plugins=io.dataflint.spark.SparkDataflintPlugin \
...
For Spark 4.X:
spark-submit
--packages io.dataflint:dataflint-spark4_2.13:0.9.8 \
--conf spark.plugins=io.dataflint.spark.SparkDataflintPlugin \
...
javax.servlet instead of jakarta.servlet, so use the dedicated shaded artifact io.dataflint:dataflint-spark4-databricks_2.13 (same plugin class — only the jar coordinate differs).
DataFlint OSS is installed as a plugin on the spark driver and history server.
The plugin exposes an additional HTTP resoures for additional metrics not available in Spark UI, and a modern SPA web-app that fetches data from spark without the need to refresh the page.
For more information, see how it works docs
Medium Blog Post - Fixing small files performance issues in Apache Spark using DataFlint
Medium Blog Post - Are Long Filter Conditions in Apache Spark Leading to Performance Issues?
Medium Blog Post - Optimizing update operations to Apache Iceberg tables using DataFlint
Medium Blog Post - Did you know that your Apache Spark logs might be leaking PIIs?
Medium Blog Post - Cost vs Speed: measuring Apache Spark performance with DataFlint
DataFlint OSS require spark version 3.2 and up, and supports both scala versions 2.12 or 2.13.
| Spark Platforms | DataFlint OSS Realtime | DataFlint OSS History server |
|---|---|---|
| Local | ✅ | ✅ |
| Standalone | ✅ | ✅ |
| Kubernetes Spark Operator | ✅ | ✅ |
| EMR | ✅ | ✅ |
| Dataproc | ✅ | ✅ |
| HDInsights | ✅ | ❌ |
| Databricks | ✅ | ❌ |
For more information, see supported versions docs
$ claude mcp add spark \
-- python -m otcore.mcp_server <graph>