Apache Superset
apache · Business intelligence
GitHub stars
75,363Awaiting first sync
No measured star history yet
What is Apache Superset?
Superset gives a business one shared place to explore data and publish dashboards, on top of the databases it already has. Analysts can work in SQL while other staff build charts by picking fields, so not every question has to wait for a specialist. Because you run it yourself, the data stays in your own databases and you decide who can see what.
Apache Superset is a web application for data exploration and business intelligence. It connects to almost any SQL database or data engine, with a no-code chart builder offering more than 40 visualisation types, a SQL editor called SQL Lab and a light semantic layer for shared metrics. Dashboards support filters and cross-filters, and charts can be sent as scheduled reports.
Core capabilities
- Connects to SQL databases such as PostgreSQL, ClickHouse, Databricks and Redshift.
- Builds charts by drag and drop, or from SQL written in SQL Lab.
- Sends alerts and scheduled reports to email or Slack.
Charts, dashboards and SQL
Superset ships with more than 40 visualisation types, from simple bar charts to geospatial maps, and a plug-in system for custom ones. Charts can be built in a drag-and-drop explorer or from SQL written in SQL Lab, which also supports Jinja templating. Dashboards add filters, cross-filters, drill-to-detail and drill-by, and CSS templates let you match your brand. Physical and virtual datasets give everyone the same metric definitions.
- Dashboards
- SQL Lab
- Visualisations
- Semantic layer
Databases, caching and access control
Superset can query any SQL-speaking database or engine that has a Python DB-API driver and a SQLAlchemy dialect, such as Trino, Amazon Athena, Redshift, ClickHouse and Databricks. It works on your existing databases without a separate ingestion layer, and a caching layer reduces the load on them. Built-in roles such as Admin, Alpha and Gamma control access, alongside per-database rights and row level security rules. Once enabled, alerts and reports deliver dashboards and charts to email or Slack.
- SQL databases
- Caching
- Roles
- Row level security
Run it yourself under Apache-2.0
The quickstart runs Superset locally with Docker Compose from the Git repository and opens it on port 8088. The project says this Docker Compose setup is for trying Superset out, not for production. For real deployments there is an official Docker image, a PyPI package called apache_superset and support for Kubernetes, with settings kept in superset_config.py. Superset is an Apache Software Foundation project released under the Apache-2.0 licence.
- Self-hosted
- Docker
- Kubernetes
- Apache-2.0
Where it fits
Use cases
- 01
Build a self-serve dashboard for a team
Connect a database, then create a physical dataset from a table or a virtual dataset from a SQL query. Build charts in the no-code chart builder and arrange them on a dashboard with filters, cross-filters and drill-by. Colleagues with the right role can then explore the data themselves.
- 02
Answer one-off questions with SQL
Open SQL Lab to write queries, browse database metadata and use Jinja templating. The sql_lab role controls who can use the editor, and Alpha and Gamma users must be given access to each database. This keeps analysts to the data sources they are allowed to query.
- 03
Send a weekly report or a threshold alert
Turn on alerts and reports in the configuration and install a headless browser, as the docs describe. Schedule a report to send a dashboard or chart to email or a Slack channel as a PDF or PNG, or a chart as CSV or Excel. Alerts use the same delivery but are sent when a SQL condition is met.