The superset Meltano utility pulls data from Superset that can then be sent to a destination using a loader.
Other Available Variants
- apache (default)
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Dependencies
The Superset plugin requires Meltano version 2.0. If you're on an older version, make sure you update Meltano first.
Once you have Meltano running, you likely already have everything you need for Superset as well. If you do run into trouble installing Superset following the instructions below, check out the OS Dependencies section in the Superset documentation. Note that the rest of that guide is not relevant if you're using Meltano to manage your Superset installation, initialization, and configuration.
Installation and configuration
-
Add the superset utility to your project
using
:meltano add
-
Configure the superset settings using
:meltano config
meltano add utility superset
meltano config superset set --interactive
Next steps
If you're running Superset for the first time in a new environment, generate a new
SECRET_KEY
to increase security:meltano config superset set SECRET_KEY $(openssl rand -base64 42)
Create an admin user: (use
admin
as username to be able to load the examples)meltano invoke superset:create-admin
This is equivalent to
superset fab create-admin
in the Superset documentationOptionally, load some example data to play with:
meltano invoke superset:load-examples
This is equivalent to
superset load_examples
in the Superset documentationLaunch the Superset UI and log in using the username/password you created:
meltano invoke superset:ui
By default, the UI will be available at at
http://localhost:8088
. You can change this using theui.bind_host
andui.port
settings documented below.
Add additional database drivers
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.
You can find the list of supported databases and the appropriate PyPI (pip) packages in the Supported Databases and Dependencies section in the Superset documenation. These can then be added to your Meltano project by configuring
a custom pip_url
for the superset
utility:
Find the
superset
plugin definition in yourmeltano.yml
project fileUpdate the
pip_url
property to include the desired additional packages:utilities: - name: superset variant: apache pip_url: apache-superset==1.5.0 snowflake-sqlalchemy
Re-install the plugin:
meltano install utility superset
Now when you (re)start Superset, you will be able to connect to a new type of database, like Snowflake in the example.
If you run into any issues, learn how to get help.
Troubleshooting
Invalid decryption key
If you see a ValueError: Invalid decryption key
warning or a message that Superset default roles and permissions could not be created: 'superset init' failed
then it's likely that your encryption key is incorrect.
If you change your SECRET_KEY
, the metadata database containing your users and reports will become unreadable. If there was nothing valuable in there, you can delete it at .meltano/utilities/superset/superset.db
inside your project. If you changed the secret key because the old one was leaked, you can rotate the key:
meltano config superset set SECRET_KEY <new_key>
meltano config superset set PREVIOUS_SECRET_KEY <original_key>
meltano invoke superset re-encrypt-secrets
Capabilities
The current capabilities forsuperset
may have been automatically set when originally added to the Hub. Please review the
capabilities when using this utility. If you find they are out of date, please
consider updating them by making a pull request to the YAML file that defines the
capabilities for this utility.This plugin has the following capabilities:
You can
override these capabilities or specify additional ones
in your meltano.yml
by adding the capabilities
key.
Settings
The
superset
settings that are known to Meltano are documented below. To quickly
find the setting you're looking for, click on any setting name from the list:
You can
override these settings or specify additional ones
in your meltano.yml
by adding the settings
key.
Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this plugin.
UI Bind Host (ui.bind_host)
-
Environment variable:
SUPERSET_UI_BIND_HOST
-
Default Value:
0.0.0.0
Host used by meltano invoke superset:ui
. Used in the gunicorn
--bind
option along with ui.port
.
UI Port (ui.port)
-
Environment variable:
SUPERSET_UI_PORT
-
Default Value:
8088
Port used by meltano invoke superset:ui
. Used in the gunicorn
--bind
option along with ui.bind_host
.
UI Timeout (ui.timeout)
-
Environment variable:
SUPERSET_UI_TIMEOUT
-
Default Value:
60
Timeout in sections, used by meltano invoke superset:ui
. Corresponds to the gunicorn
--timeout
option
UI Workers (ui.workers)
-
Environment variable:
SUPERSET_UI_WORKERS
-
Default Value:
4
Workers used by meltano invoke superset:ui
. Corresponds to the gunicorn
--workers
option
SQLAlchemy Database URI (SQLALCHEMY_DATABASE_URI)
-
Environment variable:
SUPERSET_SQLALCHEMY_DATABASE_URI
-
Default Value:
sqlite:///$MELTANO_PROJECT_ROOT/.meltano/utilities/superset/superset.db
Superset metadata database connection string. Equivalent to the SQLALCHEMY_DATABASE_URI
setting in superset_config.py
.
SQLite is used by default, but in production PostgreSQL or MySQL is more appropriate. See the Superset documentation for more information. To add a database driver like psycopg2
or mysqlclient
, refer to the Add additional database drivers section above.
Secret Key (SECRET_KEY)
-
Environment variable:
SUPERSET_SECRET_KEY
-
Default Value:
thisisnotapropersecretkey
App secret key used for securely signing the session cookie and encrypting sensitive information on the database. Equivalent to the SECRET_KEY
setting in superset_config.py
.
Something missing?
This page is generated from a YAML file that you can contribute changes to.
Edit it on GitHub!Looking for help?
#plugins-general
channel.
Install
meltano add utility superset
Maintenance Status
Meltano Stats
Keywords