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.
Consulte Apache Superset — Conceitos para uma visão completa da ferramenta, sua arquitetura e funcionamento.
Componentes implantados
| Componente | Descrição |
|---|---|
| Superset Web | Interface web e API (Flask/Python) |
| Celery Workers | Processam queries assíncronas e caches em background |
| Celery Beat | Agendador de tarefas periódicas (refresh de dashboards, alertas) |
| Redis (embutido) | Broker de mensagens para o Celery e cache de resultados |
| PostgreSQL externo | Banco de metadados do Superset (dashboards, usuários, datasources) |
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
| Propriedade | Valor |
|---|---|
| Chart | tdp-superset |
| Versão do Superset | 5.0.0 |
| Versão do Chart | 3.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
helm install <release> oci://registry.tecnisys.com.br/tdp/charts/tdp-superset \
-n <namespace> --create-namespace
Parâmetros principais
| Parâmetro | Descrição | Padrão típico |
|---|---|---|
superset.enabled | Habilitar Superset | true |
superset.fullnameOverride | Nome base dos recursos | tdp-superset (ajuste se necessário) |
superset.extraSecretEnv.SUPERSET_SECRET_KEY | Chave secreta do Superset (obrigatória) | Placeholder no values |
supersetPostgresqlPassword | Senha do usuário DB do Superset (Secret gerido pelo chart, opcional) | "" |
TDPConfigurations.externalDatabase.enabled | Job de bootstrap db-create-job | false |
TDPConfigurations.externalDatabase.externalSecret.releaseName | Prefixo do Secret PostgreSQL admin | Ex.: nome do release do PostgreSQL |
TDPConfigurations.externalDatabase.externalSecret.area | Sufixo do Secret | Ex.: project |
superset.postgresqlSecrets.name | Nome do Secret da senha do DB Superset | Ver helm show values |
superset.postgresqlSecrets.passwordKey | Chave da senha dentro do Secret | Ver helm show values |
superset.supersetNode.connections.db_host | Host do PostgreSQL de metadados | <servico>.<namespace>.svc.cluster.local |
superset.datasources.autoImport.enabled | Auto-import de datasources no init | false |
superset.datasources.clickhouse.enabled | Bloco ClickHouse | false |
superset.datasources.trino.enabled | Bloco Trino | false |
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).
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=truesuperset.postgresql.enabled=falsesuperset.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:
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.