Shell Interactivo
El shell interactivo es un REPL SQL que te da acceso directo a tu data lake con resaltado de sintaxis, autocompletado y comandos dot especiales.
Iniciar
Sección titulada «Iniciar»dataspoc-lens shellDataSpoc Lens Shell (DuckDB)Type SQL or .help for commands.
lens>Funcionalidades
Sección titulada «Funcionalidades»- Resaltado de sintaxis — palabras clave SQL, strings y numeros con colores via Pygments
- Autocompletado — nombres de tablas, columnas y palabras clave SQL con Tab
- Historial de comandos — persistente entre sesiones, almacenado en
~/.dataspoc-lens/history - Consultas multi-linea — las consultas se ejecutan cuando escribes
;al final - Salida enriquecida — resultados mostrados como tablas formateadas
Comandos dot
Sección titulada «Comandos dot»Los comandos dot son comandos especiales del shell que comienzan con . y proporcionan acceso rapido a metadatos y utilidades.
| Comando | Descripcion |
|---|---|
.tables | Lista todas las tablas montadas |
.schema <table> | Muestra nombres de columnas y tipos de una tabla |
.buckets | Lista todos los buckets registrados |
.cache [table] | Cachea una tabla localmente para uso offline |
.export <format> <path> | Exporta el resultado de la ultima consulta a un archivo |
.help | Muestra los comandos dot disponibles |
.quit | Sale del shell |
Sesion de ejemplo
Sección titulada «Sesion de ejemplo»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> .quitUsar IA dentro del shell
Sección titulada «Usar IA dentro del shell»Si has configurado un proveedor de IA (via setup-ai o variables de entorno), puedes hacer preguntas en lenguaje natural directamente en el shell prefijando tu entrada con 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)Atajos de teclado
Sección titulada «Atajos de teclado»| Atajo | Accion |
|---|---|
Tab | Autocompletado |
Up / Down | Navegar historial de comandos |
Ctrl+C | Cancelar la entrada actual |
Ctrl+D | Salir del shell |