Trino (Tier 3 – Orquestração & BI)¶
Propósito: Engine SQL interativo que expõe as tabelas do Hive/Delta Lake (armazenadas no MinIO) para ferramentas de BI e orquestração.
Imagem¶
- Imagem oficial
trinodb/trino:${TRINO_VERSION}com o conector Hive configurado para o metastore compartilhado.
Configuração¶
- Templates em
templates/trino/são renderizados paraconfig/trino/viapython3 flumen config --service trino. - Variáveis de ambiente principais (
.env): TRINO_PORT– porta exposta no host (mapeada para a porta interna 8080).TRINO_VERSION– tag da imagem do Trino.TRINO_ENVIRONMENT– usado emnode.properties.HIVE_METASTORE_URI,MINIO_ROOT_USER,MINIO_ROOT_PASSWORD,MINIO_SERVER_URL– reutilizados no conector Hive.- Arquivos gerados:
config.properties,node.properties,jvm.config.catalog/hive.properties(pré-configurado para o Hive Metastore + MinIO).
Uso¶
python3 flumen up --tier 3 # Sobe Trino + Superset (requer tiers 0–2 ativos)
python3 flumen shell-trino # Abre um shell dentro do container
python3 flumen sql-trino # Inicia o CLI conectado ao coordenador
A UI fica disponível em http://localhost:${TRINO_PORT} quando o container estiver healthy.
Inicialização & Saúde¶
- Inicialização: A CLI executa
SHOW CATALOGSeSHOW SCHEMAS FROM hivevia CLI para garantir que o coordenador e o conector Hive estejam prontos. python3 flumen health --service trinofaz um probe HTTP leve em/v1/info.- O healthcheck do Docker replica o mesmo endpoint, então
docker compose psreflete o status real.
Conectividade¶
- O catálogo Hive aponta para o mesmo metastore usado pelos jobs Spark do JupyterLab, logo schemas e tabelas Delta aparecem automaticamente.
- As credenciais S3 apontam para o MinIO (
s3://$(MINIO_BUCKET)/warehouse), permitindo leitura/escrita via Trino.
Troubleshooting¶
- 401/Forbidden: verifique se o catálogo Hive recebeu as credenciais do MinIO (
config/trino/catalog/hive.properties). - Catálogo ausente: confirme que o Tier 1 (Hive Metastore) está saudável antes de subir o Tier 3.
- Conflito de porta: ajuste
TRINO_PORTse8082já estiver em uso localmente e rodepython3 flumen config --service trinoantes depython3 flumen up --tier 3.