Superset

superset from apache

A modern, enterprise-ready business intelligence web application.

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:

  1. Install Meltano
  2. Create your Meltano project

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

  1. Add the superset utility to your project using
    meltano add
    :
  2. meltano add utility superset
  3. Configure the superset settings using
    meltano config
    :
  4. meltano config superset set --interactive

Next steps

  1. 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)
    
  2. 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 documentation

  3. Optionally, load some example data to play with:

    meltano invoke superset:load-examples
    

    This is equivalent to superset load_examples in the Superset documentation

  4. Launch 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 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:

  1. Find the superset plugin definition in your meltano.yml project file

  2. Update the pip_url property to include the desired additional packages:

    utilities:
    - name: superset
      variant: apache
      pip_url: apache-superset==1.5.0 snowflake-sqlalchemy
    
  3. 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 for
superset
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?

    If you're having trouble getting the superset utility to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the
    #plugins-general
    channel.

    Install

    meltano add utility superset

    Maintenance Status

    • Maintenance Status
    • Stars
    • Forks
    • Open Issues
    • Open PRs
    • Contributors
    • License

    Maintainer

    • Apache Software Foundation

    Meltano Stats

    • Projects (Last 3 Months)

    Keywords

    • analysis