Referência CLI¶
O FlumenData fornece uma CLI completa baseada em Python para gerenciar o ambiente do lakehouse.
Referência Rápida¶
python3 flumen init # Inicialização completa (recomendado para primeira execução)
python3 flumen health # Checar saúde de todos os serviços
python3 flumen ps # Mostrar containers em execução
python3 flumen summary # Mostrar resumo do ambiente
python3 flumen logs # Ver logs de todos os serviços
python3 flumen restart # Reiniciar todos os serviços
python3 flumen clean # Parar e remover tudo (DESTRUTIVO)
Instalação & Pré-requisitos¶
A CLI do FlumenData requer: - Python 3.6+ (pré-instalado no Linux/macOS, instalar via Microsoft Store no Windows) - Docker 20.10+ - Docker Compose 2.0+
Estrutura de Comandos¶
Comandos de Inicialização¶
python3 flumen init¶
Inicialização completa do ambiente - recomendado para primeira execução.
O que faz:
1. Carrega variáveis de ambiente do .env
2. Inicializa diretórios de dados
3. Gera todos os arquivos de configuração
4. Inicia serviços Tier 0 (PostgreSQL, MinIO)
5. Verifica saúde do Tier 0 e inicializa buckets MinIO
6. Inicia serviços Tier 1 (Hive Metastore, Spark)
7. Verifica saúde do Tier 1 e inicializa Hive
8. Exibe resumo do ambiente
Uso:
python3 flumen init-dirs¶
Inicializa apenas os diretórios de dados.
Uso:
python3 flumen config¶
Gera todos os arquivos de configuração a partir de templates.
Uso:
# Gerar todas as configurações
python3 flumen config
# Gerar configuração de serviço específico
python3 flumen config --service minio
python3 flumen config --service hive
python3 flumen config --service spark
python3 flumen config --service jupyterlab
python3 flumen config --service trino
python3 flumen config --service superset
Quando usar:
- Após modificar arquivo .env
- Após atualizar arquivos de template
- Quando arquivos de configuração estiverem faltando
Gerenciamento de Serviços¶
Iniciando Serviços¶
python3 flumen up¶
Inicia todos os serviços (Tiers 0 a 3).
python3 flumen up --tier <N>¶
Inicia serviços de tier específico.
python3 flumen up --tier 0 # PostgreSQL, MinIO
python3 flumen up --tier 1 # Hive Metastore, cluster Spark
python3 flumen up --tier 2 # JupyterLab
python3 flumen up --tier 3 # Trino, Superset
python3 flumen up --services <serviço1> <serviço2>¶
Inicia serviços específicos.
Parando Serviços¶
python3 flumen down¶
Para todos os serviços (containers removidos, volumes preservados).
Reiniciando Serviços¶
python3 flumen restart¶
Reinicia todos os serviços.
Verificações de Saúde¶
python3 flumen health¶
Verifica o status de saúde de todos os serviços.
Uso:
# Verificar todos os serviços
python3 flumen health
# Verificar tier específico
python3 flumen health --tier 0
python3 flumen health --tier 1
python3 flumen health --tier 2
python3 flumen health --tier 3
Saída:
=== Tier 0 - Serviços de Fundação ===
✓ postgres está saudável
✓ minio está saudável
=== Tier 1 - Plataforma de Dados ===
✓ hive-metastore está saudável
✓ spark-master está saudável
✓ spark-worker1 está saudável
✓ spark-worker2 está saudável
Comandos de Teste¶
python3 flumen test¶
Executa todos os testes de integração.
Uso:
# Testar todos os serviços
python3 flumen test
# Testar tier específico
python3 flumen test --tier 0
python3 flumen test --tier 1
python3 flumen test --tier 2
python3 flumen test --tier 3
# Executar teste de integração
python3 flumen test --integration
O que testa: - PostgreSQL: Conexão, criação de tabelas, persistência de dados - MinIO: Criação de buckets, upload/download de objetos - Hive Metastore: Criação de databases, armazenamento de metadados - Spark: Submissão de jobs, operações Delta Lake - JupyterLab: Sonda de disponibilidade HTTP - Trino: Query CLI contra o coordenador
Comandos de Verificação¶
python3 flumen verify-hive¶
Exibe databases e configuração do Hive Metastore.
Uso:
python3 flumen summary¶
Exibe resumo completo do ambiente.
Uso:
Comandos de Logs¶
python3 flumen logs¶
Visualiza logs dos serviços.
Uso:
# Todos os serviços (modo follow)
python3 flumen logs
# Tier específico
python3 flumen logs --tier 0
python3 flumen logs --tier 1
# Serviço específico
python3 flumen logs --service spark-master
python3 flumen logs --service hive-metastore
# Sem follow (mostrar logs recentes e sair)
python3 flumen logs --no-follow
python3 flumen logs --service postgres --no-follow
Shells Interativos¶
Shells de Banco de Dados¶
python3 flumen shell-postgres¶
Abre shell interativo do PostgreSQL.
Uso:
Shells Spark¶
python3 flumen shell-spark¶
Abre shell interativo Spark Scala.
Uso:
python3 flumen shell-pyspark¶
Abre shell interativo PySpark Python.
Uso:
Exemplo:
python3 flumen shell-spark-sql¶
Abre shell interativo Spark SQL.
Uso:
Exemplo:
Cliente MinIO¶
python3 flumen shell-mc¶
Abre cliente MinIO (mc) para operações de object storage.
Uso:
python3 flumen shell-mc
# Listar buckets
mc ls local
# Listar objetos no bucket
mc ls local/lakehouse/warehouse
# Copiar objeto
mc cp local/lakehouse/file.parquet /tmp/
# Criar bucket
mc mb local/bronze
Comandos Específicos de Serviços¶
python3 flumen token-jupyterlab¶
Obtém token de acesso do JupyterLab.
Uso:
python3 flumen superset-db¶
Inicializa banco de dados do Superset.
Uso:
Comandos de Limpeza & Manutenção¶
python3 flumen cleanup¶
Limpa dados de teste do armazenamento.
Uso:
# Limpar todos os tiers
python3 flumen cleanup
# Limpar tier específico
python3 flumen cleanup --tier 0
python3 flumen cleanup --tier 1
python3 flumen cleanup --tier 2
python3 flumen clean¶
Limpeza completa do ambiente - para serviços e remove todos os dados.
O que faz: 1. Solicita confirmação 2. Para todos os serviços 3. Remove todos os containers 4. Remove todos os volumes (dados deletados) 5. Remove redes
Uso:
Perda de Dados
Este comando deleta permanentemente todos os dados armazenados em volumes Docker. Exporte dados importantes antes de executar este comando.
python3 flumen rebuild¶
Reconstrói todas as imagens Docker customizadas.
Uso:
python3 flumen prune¶
Remove recursos Docker não utilizados.
Uso:
Status dos Containers¶
python3 flumen ps¶
Mostra containers em execução com status.
Uso:
Alias:
Tabela de Referência Rápida¶
| Tarefa | Comando |
|---|---|
| Configuração inicial | python3 flumen init |
| Verificar tudo | python3 flumen health |
| Ver logs | python3 flumen logs --service spark-master |
| Reiniciar após mudança de config | python3 flumen config && python3 flumen restart |
| Executar testes | python3 flumen test |
| Abrir Spark SQL | python3 flumen shell-spark-sql |
| Abrir PySpark | python3 flumen shell-pyspark |
| Ver ambiente | python3 flumen summary |
| Limpeza completa | python3 flumen clean |
Usando o Wrapper Makefile¶
Por conveniência, todos os comandos têm aliases no Makefile:
# Estes são equivalentes:
python3 flumen init
make init
python3 flumen health
make health
python3 flumen up --tier 0
make up-tier0
O Makefile simplesmente delega para a CLI Python, então você pode usar o que preferir.
Uso Avançado¶
Comandos Sequenciais¶
# Fluxo típico após alterar .env
python3 flumen config && python3 flumen restart && python3 flumen health
Compatibilidade Multi-Plataforma¶
A CLI Python funciona identicamente em: - Linux: Python 3 nativo - macOS: Python 3 nativo - Windows: Python 3 da Microsoft Store ou python.org - WSL2: Python 3 nativo
Sem necessidade de workarounds específicos de plataforma!
Obtendo Ajuda¶
python3 flumen --help¶
Mostra ajuda geral e todos os comandos disponíveis.
python3 flumen <comando> --help¶
Mostra ajuda para comando específico.
python3 flumen --version¶
Mostra versão do FlumenData.
Sem Comando (Mensagem de Boas-Vindas)¶
Executar python3 flumen sem comando mostra uma mensagem amigável com guia de início rápido.
Próximos Passos¶
- Variáveis de Ambiente - Configurar serviços
- Arquitetura - Entender componentes
- Guia de Testes - Escrever testes de integração