Saltar para o conteúdo principal
Versão Next 🚧

Configuração do Superset

O que é o Apache Superset?

O Apache Superset é a camada de visualização de dados do TDP.

É onde analistas e gestores criam dashboards, exploram tabelas e geram gráficos sem precisar escrever SQL diretamente — embora o SQL também seja suportado para usuários avançados.

No TDP Kubernetes, o Superset se conecta ao Trino e ao ClickHouse como fontes de dados.

O Trino fornece acesso federado a todos os dados do data lake; o ClickHouse fornece queries analíticas de alta velocidade.

O Superset é o frontend que torna esses dados acessíveis a todos na organização.

Para saber mais

Consulte Apache Superset — Conceitos para uma visão completa da ferramenta, sua arquitetura e funcionamento.

Componentes implantados

ComponenteDescrição
Superset WebInterface web e API (Flask/Python)
Celery WorkersProcessam queries assíncronas e caches em background
Celery BeatAgendador de tarefas periódicas (refresh de dashboards, alertas)
Redis (embutido)Broker de mensagens para o Celery e cache de resultados
PostgreSQL externoBanco de metadados do Superset (dashboards, usuários, datasources)
Por que o Superset precisa do PostgreSQL?

O Superset armazena seus metadados (dashboards, gráficos, conexões de banco, usuários) em um banco relacional. No TDP, isso é feito no tdp-postgresql compartilhado. O Superset em si não armazena dados de análise — ele só armazena as definições de como visualizar esses dados.

Esta página descreve a configuração do Apache Superset no TDP Kubernetes conforme o chart tdp-superset.

Visão geral

PropriedadeValor
Charttdp-superset
Versão do Superset5.0.0
Versão do Chart3.0.0
Registry (exemplos)oci://registry.tecnisys.com.br/tdp/charts/tdp-superset

O deployment costuma incluir nó Superset, workers Celery, Celery Beat, Redis embutido (conforme o arquivo de valores) e PostgreSQL externo para metadados quando superset.postgresql.enabled=false.

Instalação

Exemplo
helm install <release> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset \
-n <namespace> --create-namespace

Parâmetros principais

ParâmetroDescriçãoPadrão típico
superset.enabledHabilitar Supersettrue
superset.fullnameOverrideNome base dos recursostdp-superset (ajuste se necessário)
superset.extraSecretEnv.SUPERSET_SECRET_KEYChave secreta do Superset (obrigatória)Placeholder no values
supersetPostgresqlPasswordSenha do usuário DB do Superset (Secret gerido pelo chart, opcional)""
TDPConfigurations.externalDatabase.enabledJob de bootstrap db-create-jobfalse
TDPConfigurations.externalDatabase.externalSecret.releaseNamePrefixo do Secret PostgreSQL adminEx.: nome do release do PostgreSQL
TDPConfigurations.externalDatabase.externalSecret.areaSufixo do SecretEx.: project
superset.postgresqlSecrets.nameNome do Secret da senha do DB SupersetVer helm show values
superset.postgresqlSecrets.passwordKeyChave da senha dentro do SecretVer helm show values
superset.supersetNode.connections.db_hostHost do PostgreSQL de metadados<servico>.<namespace>.svc.cluster.local
superset.datasources.autoImport.enabledAuto-import de datasources no initfalse
superset.datasources.clickhouse.enabledBloco ClickHousefalse
superset.datasources.trino.enabledBloco Trinofalse

Secret key

superset.extraSecretEnv.SUPERSET_SECRET_KEY é obrigatória para criptografia de dados sensíveis no Superset. Gere um valor forte e injete via Secret/values (não versionar em texto claro).

Gerar valor (exemplo)
openssl rand -base64 42

PostgreSQL externo e job db-create-job

O chart pode criar banco e usuário via Helm hook quando simultaneamente:

  • TDPConfigurations.externalDatabase.enabled=true
  • superset.postgresql.enabled=false
  • superset.supersetNode.connections.db_type=postgresql

A senha de administrador do PostgreSQL é lida de um Secret nomeado <releaseName>-<area>, chave postgres-password, no padrão do chart TDP. Ajuste TDPConfigurations.externalDatabase.externalSecret ao padrão que você usa para o PostgreSQL.

Exemplo genérico de conexão (metadados):

superset:
postgresql:
enabled: false
supersetNode:
connections:
db_type: postgresql
db_host: <postgresql-service>.<namespace>.svc.cluster.local
db_name: superset_db
db_user: superset_user

Datasources: ClickHouse e Trino

Os blocos ficam em superset.datasources.*. Com superset.datasources.autoImport.enabled=true, os blocos habilitados podem ser importados pelo job de init upstream.

Exemplo de habilitação via CLI:

Exemplo
helm upgrade --install <release> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset \
-n <namespace> \
--set superset.datasources.autoImport.enabled=true \
--set superset.datasources.clickhouse.enabled=true

Valores ilustrativos no YAML (substitua hosts e credenciais):

superset:
datasources:
clickhouse:
enabled: true
name: "ClickHouse"
host: "<clickhouse-service>.<namespace>.svc.cluster.local"
port: "8123"
database: "default"
trino:
enabled: true
name: "Trino"
host: "<trino-service>.<namespace>.svc.cluster.local"
port: "8080"
catalog: "<catalogo>"

Strings de conexão SQLAlchemy dependem dos drivers instalados na imagem; não há uma única URL fixa no pacote — alinhe com a imagem que utiliza e com a documentação do Superset.

Redis e réplicas

Redis embutido e réplicas de supersetNode / workers seguem o values.yaml do chart e do subchart upstream. Ajuste recursos conforme carga.

Acesso à interface

O nome do Service segue fullnameOverride (padrão tdp-superset se não alterado):

kubectl -n <namespace> port-forward service/<nome-do-servico> 8088:8088

Abra http://127.0.0.1:8088. Credenciais iniciais vêm do bloco superset.init no seu arquivo de valores (altere após o primeiro login).

Resolução de Problemas

kubectl -n <namespace> get pods
kubectl -n <namespace> get jobs
kubectl -n <namespace> get events --sort-by=.lastTimestamp

Desinstalação

helm uninstall <release> -n <namespace>

Para a lista completa de parâmetros, execute helm show values para a versão do chart que instalou.