The superset
            utility is a modern data exploration and visualization platform.  This utility is in a preview stage of readiness. It is based upon our Extension Developer Kit (EDK) which is the new way to build and add plugins to Meltano Hub.
 This preview of Superset will replace the existing Superset utility once it comes out of preview. In the meantime, we would appreciate any feedback in the EDK repo and in the Superset Extension repo.EDK Preview
Available Variants
- apache (default)
 - meltano
 
Getting Started
Prerequisites
If you haven't already, follow the initial steps of the Getting Started guide:
Installation and configuration
- 
                Add the superset utility to your project
                using
                
:meltano add - 
                Configure the superset settings using
                
:meltano config 
meltano add utility superset --variant meltanomeltano config superset set --interactiveNext steps
- If you're running Superset for the first time in a new environment you'll need to initialize the config, database, as well as generate generate a new 
SECRET_KEYto increase security: 
# create a new secret key
meltano config superset_ext set SECRET_KEY $(openssl rand -base64 42)
# create the initial config, database, and auth roles.
meltano invoke superset_ext:initialize
- Create an admin user: (use 
adminas username to be able to load the examples) 
# add a superset admin using prompting for required values
meltano invoke superset_ext:create-admin
  This is equivalent to superset fab create-admin in the Superset documentation
- Optionally, load some example data to play with:
 
meltano invoke superset_ext:load-examples
  This is equivalent to superset load_examples in the Superset documentation
  Note that you need a user named admin with the admin permissions to load these examples.
- Launch the Superset UI and log in using the username/password you created:
 
meltano invoke superset_ext:ui
  By default, the UI will be available at at http://localhost:8088. You can change this using the ui.bind_host and ui.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_extplugin definition in yourmeltano.ymlproject fileUpdate the
pip_urlproperty to include the desired additional packages:utilities: - name: superset variant: apache pip_url: apache-superset==2.0.0 flask==2.0.3 werkzeug==2.0.3 jinja2==3.0.1 wtforms==2.3.3 git+https://github.com/meltano/superset-ext.git@main snowflake-sqlalchemyRe-install the plugin:
meltano install utility superset_ext
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.
Capabilities
This plugin currently has no capabilities defined. If you know the capabilities required by this plugin, please contribute!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
Superset home (HOME)
- 
          Environment variable:
          
SUPERSET_HOME - 
          Default Value: 
$MELTANO_PROJECT_ROOT/.meltano/utilities/superset 
Superset config path (CONFIG_PATH)
- 
          Environment variable:
          
SUPERSET_CONFIG_PATH - 
          Default Value: 
$MELTANO_PROJECT_ROOT/analyze/superset/superset_config.py 
The path to where the Superset config file is located.
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.
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_ext set SECRET_KEY <new_key>
meltano config superset_ext set PREVIOUS_SECRET_KEY <original_key>
meltano invoke superset_ext re-encrypt-secrets
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 --variant meltanoHomepage
Maintenance Status
Meltano Stats
Keywords
