Install Database Drivers

Superset requires a Python database driver to be installed for each additional type of database you want to connect to.

Superset interacts with the underlying databases using the provided SQL interface (often times through a SQLAlchemy library).

Supported Databases and Dependecies

Superset does not ship bundled with connectivity to databases, except for Sqlite, which is part of the Python standard library. You’ll need to install the required packages for the database you want to use as your metadata database as well as the packages needed to connect to the databases you want to access through Superset.

A list of some of the recommended packages.

DatabasePyPI packageConnection String
Amazon Athenapip install "PyAthenaJDBC>1.0.9 , pip install "PyAthena>1.2.0awsathena+rest://{aws_access_key_id}:{aws_secret_access_key}@athena.{region_name}.amazonaws.com/{
Amazon Redshiftpip install sqlalchemy-redshift redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>
Apache Drillpip install sqlalchemy-drilldrill+sadrill:// For JDBC drill+jdbc://
Apache Druidpip install pydruiddruid://<User>:<password>@<Host>:<Port-default-9088>/druid/v2/sql
Apache Hivepip install pyhivehive://hive@{hostname}:{port}/{database}
Apache Impalapip install impalaimpala://{hostname}:{port}/{database}
Apache Kylinpip install kylinpykylin://<username>:<password>@<hostname>:<port>/<project>?<param1>=<value1>&<param2>=<value2>
Apache Pinotpip install pinotdbpinot+http://CONTROLLER:5436/ query?server=http://CONTROLLER:5983/
Apache Spark SQLpip install pyhivehive://hive@{hostname}:{port}/{database}
Azure MS SQLmssql+pymssql://UserName@presetSQL:TestPassword@presetSQL.database.windows.net:1433/TestSchema
Big Querypip install pybigquerybigquery://{project_id}
ClickHousepip install sqlalchemy-clickhouseclickhouse://{username}:{password}@{hostname}:{port}/{database}
CockroachDBpip install cockroachdbcockroachdb://root@{hostname}:{port}/{database}?sslmode=disable
Dremiopip install sqlalchemy_dremiodremio://user:pwd@host:31010/
Elasticsearchpip install elasticsearch-dbapielasticsearch+http://{user}:{password}@{host}:9200/
Exasolpip install sqlalchemy-exasolexa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC
Google Sheetspip install gsheetsdbgsheets://
IBM Db2pip install ibm_db_sadb2+ibm_db://
MySQLpip install mysqlclientmysql://<UserName>:<DBPassword>@<Database Host>/<Database Name>
Oraclepip install cx_Oracleoracle://
PostgreSQLpip install psycopg2postgresql://<UserName>:<DBPassword>@<Database Host>/<Database Name>
Prestopip install pyhivepresto://
SAP Hanapip install hdbcli sqlalchemy-hana or pip install apache-superset[hana]hana://{username}:{password}@{host}:{port}
Snowflakepip install snowflake-sqlalchemyssnowflake://{user}:{password}@{account}.{region}/{database}?role={role}&warehouse={warehouse}
SQL Serverpip install pymssqlmssql://
Teradatapip install sqlalchemy-teradatateradata://{user}:{password}@{host}
Verticapip install sqlalchemy-vertica-pythonvertica+vertica_python://<UserName>:<DBPassword>@<Database Host>/<Database Name>

Note that many other databases are supported, the main criteria being the existence of a functional SqlAlchemy dialect and Python driver. Googling the keyword sqlalchemy in addition of a keyword that describes the database you want to connect to should get you to the right place.

If your database or data engine isn't on the list but a SQL interface exists, please file an issue on the Superset GitHub repo, so we can work on supporting it.

StackOverflow and the Superset community Slack are great places to get help with connecting to databases in Superset.

In the end, you should be looking for a Python package compatible with your database. One part that makes database driver installation tricky is the fact that local binaries are sometimes required in order for them to bind properly, which means that various apt packages might need to be installed before pip can get things set up.