Uso do Superset

Objetivo

Documentar criação de dashboards e gráficos sobre um banco de dados no Superset.

Dependências

[1] Superset, 3.1.0

Criando um dashboard

Depois de ter conectado uma base de dados ao Superset (https://documentation-db.docs.c3sl.ufpr.br/en/latest/pages/Superset/Superset.html), crie um dashboard por meio do botão na página inicial ou o ícone “+” no canto superior direito e comece a preenchê-lo com gráficos (charts).

../../_images/dashboard.png

Criando um gráfico

Para criar um gráfico precisamos de um dataset (uma tabela). Esse dataset pode ser uma das tabelas já existentes no banco de dados (dataset físico), ou pode ser criado a partir de uma query SQL no SQL Lab do Superset (dataset virtual). Essa segunda opção nos permite fazer cruzamento de tabelas e obter relações mais complexas entre os dados do banco.

SQL Lab e datasets

Para fazer uma query SQL personalizada, acesse o SQL Lab na barra de navegação do Superset.

../../_images/SQL_Lab.png

Escolha a database (ou cluster) conectada ao Superset que quer utilizar, e o schema (banco) dentro dessa database.

../../_images/SQL_Lab2.png

Use a caixa de texto para escrever uma query. É necessário prefixar todas as tabelas que referenciar na query com o nome do schema em que está localizada a tabela.

../../_images/query.png

Depois de rodar a query, salve os resultados para um novo dataset no menu dropdown ao lado de “SAVE”. Também é possível criar um novo gráfico diretamente (“CREATE CHART”), mas é necessário criar o dataset (mesmo que posteriormente) para usar as métricas associadas.

Em Datasets, você pode editar um dataset para definir algumas informações sobre ele - mais sobre isso adiante.

Customizando o gráfico

Com um dataset pronto, selecione o tipo de gráfico que quer usar. Cada tipo de gráfico usa uma ou mais colunas do dataset como dimensões e uma ou mais métricas. Veja em [2] uma coleção de gráficos possíveis e seu uso na prática com alguns dataset pré-estabelecidos.

Na aba “CUSTOMIZE”, várias informações sobre o gráfico podem ser personalizadas, incluindo: cores, etiquetas e suas orientações (ex. gráfico de barras), formatação de números, tamanho etc.

../../_images/chart.png

Veja em [1] e [3] mais detalhes sobre customização de um dashboard e criação e customização de um gráfico.

A camada semântica

A camada semântica do Superset é uma camada de abstração entre as consultas SQL e a criação de gráficos e dashboards. Ela atua sobre os datasets criados e pode ser acessada ao editar um dataset na seção Datasets. O objetivo dessa camada é tornar mais simples e replicável a interação com o banco de dados. Nela, é possível criar métricas personalizadas para usar em gráficos, escolher previamente quais colunas do dataset servem como dimensões no gráfico, sobre quais delas é possível adicionar filtros, incluir mais informações sobre essas colunas, entre outras configurações.

../../_images/semantica.png

Filtros

Com um dashboard criado, é possível criar filtros sobre os dados dos seus datasets, para que o usuário possa encontrar dados de interesse mais facilmente. No dashboard, clique no menu expansível no canto superior esquerdo e adicione um novo filtro. Você pode filtrar dados por valor, um intervalo numérico ou um intervalo temporal.

../../_images/filtros.png

Papéis de usuários e definindo permissões.

O superset apresenta os seguinte papéis inicialmente, os quais podem ser atribuídos para os usuários:

  • Admin: Possui todas as permissões e é responsável por definir os papéis e permissões de outros usuários.

  • Alpha: Possuem acesso a todos os data sources, podendo criar novos ou alterá-los. Tem alguns acessos limitados, não podendo mexer nas configurações da aplicação.

  • Gamma: Possuem acesso aos dashboards e charts que utilizam apenas data sources liberados pelo Admin, não podendo alterar os data sources existentes ou criar novos. O papel Gamma pode criar novos dashboards e charts.

  • SQL_LAB: Tem direito de acessar a aba do SQL Lab.

Para mais informações, o Github do superset possui uma tabela detalhada sobre as permissões dos papéis.

Criando novos papéis.

É possível alterar as permissões de um papel através de um usuário Admin, mas isso não é recomendado, pois ao rodar ‘superset init’ as alterações serão apagadas.

Assim, se deve criar um novo papel, o qual possui apenas as permissões dos data sources a serem acessados. Através de um usuário Admin, vá até “Settings” no canto superior direito da tela e selecione “List Roles”. Ao lado de “Filter List” terá um ícone “+” para adicionar novos papéis, liste os data sources que você deseja que apareçam para o papel criado.

Criando novos usuários.

Através de um usuário Admin, vá até “Settings” no canto superior direito da tela e selecione “List Users”. Ao lado de “Filter List” terá um ícone “+” para adicionar novos usuários. Atribua a ele algum papel criado que possua as permissões de acesso aos data sources e, também, o papel Gamma, o qual possui as permissões listadas anteriormente.
Assim, o usuário terá dois papéis atribuídos a ele, sendo um deles exclusivo para indicar quais data sources ele poderá utilizar.