Shell Interativo
O shell interativo é um SQL REPL que dá acesso direto ao seu data lake com syntax highlighting, autocomplete e dot commands especiais.
Iniciar
Seção intitulada “Iniciar”dataspoc-lens shellDataSpoc Lens Shell (DuckDB)Type SQL or .help for commands.
lens>Funcionalidades
Seção intitulada “Funcionalidades”- Syntax highlighting — palavras-chave SQL, strings e números são coloridos via Pygments
- Autocomplete — nomes de tabelas, colunas e palavras-chave SQL com Tab
- Histórico de comandos — persistente entre sessões, armazenado em
~/.dataspoc-lens/history - Queries multi-linha — queries são executadas quando você digita
;no final - Saída formatada — resultados exibidos como tabelas formatadas
Dot commands
Seção intitulada “Dot commands”Dot commands são comandos especiais do shell que começam com . e dão acesso rápido a metadados e utilitários.
| Comando | Descrição |
|---|---|
.tables | Lista todas as tabelas montadas |
.schema <table> | Mostra nomes e tipos das colunas de uma tabela |
.buckets | Lista todos os buckets registrados |
.cache [table] | Cacheia uma tabela localmente para uso offline |
.export <format> <path> | Exporta o resultado da última query para um arquivo |
.help | Mostra os dot commands disponíveis |
.quit | Sai do shell |
Sessão de exemplo
Seção intitulada “Sessão de exemplo”lens> .tables customers orders products
lens> .schema orders order_id INTEGER customer_id INTEGER order_date DATE total DOUBLE status VARCHAR
lens> SELECT status, COUNT(*) as cnt, AVG(total) as avg_total ...> FROM orders ...> GROUP BY status;┌───────────┬───────┬───────────┐│ status │ cnt │ avg_total │├───────────┼───────┼───────────┤│ completed │ 32100 │ 85.40 ││ pending │ 8450 │ 72.15 ││ cancelled │ 2130 │ 45.20 │└───────────┴───────┴───────────┘
(3 row(s), 0.089s)
lens> .export csv /tmp/order_stats.csvExported 3 row(s) to /tmp/order_stats.csv
lens> .cache ordersCaching 'orders'...Cached 'orders': 4 file(s), 12.3 MB
lens> .buckets s3://my-company-data
lens> .quitUsando IA dentro do shell
Seção intitulada “Usando IA dentro do shell”Se você configurou um provedor de IA (via setup-ai ou variáveis de ambiente), pode fazer perguntas em linguagem natural diretamente no shell prefixando sua entrada com ask:
lens> ask What is the average order value by month?
SQL: SELECT DATE_TRUNC('month', order_date) as month, AVG(total) as avg_order_value FROM orders GROUP BY month ORDER BY month
┌────────────┬─────────────────┐│ month │ avg_order_value │├────────────┼─────────────────┤│ 2024-01-01 │ 78.50 ││ 2024-02-01 │ 82.30 ││ 2024-03-01 │ 91.20 │└────────────┴─────────────────┘
(3 row(s), 1.150s)Atalhos de teclado
Seção intitulada “Atalhos de teclado”| Atalho | Ação |
|---|---|
Tab | Autocomplete |
Up / Down | Navegar no histórico de comandos |
Ctrl+C | Cancelar entrada atual |
Ctrl+D | Sair do shell |