Ir al contenido

Inicio Rapido

Esta guia te lleva paso a paso a configurar DataSpoc Lens y ejecutar tus primeras consultas contra un data lake.

Ventana de terminal
pip install dataspoc-lens[s3]

Reemplaza [s3] con [gcs] o [azure] dependiendo de tu proveedor de nube.

Ventana de terminal
dataspoc-lens init
Initialized DataSpoc Lens in ~/.dataspoc-lens

Esto crea el directorio de configuracion en ~/.dataspoc-lens/ con un config.yaml por defecto.

Ventana de terminal
dataspoc-lens add-bucket s3://my-company-data
Bucket added: s3://my-company-data
Discovering tables...
┌──────────────┬─────────┬──────┬────────────┐
│ Table │ Columns │ Rows │ Source │
├──────────────┼─────────┼──────┼────────────┤
│ customers │ 8 │ 5420 │ postgres │
│ orders │ 12 │ 48k │ postgres │
│ products │ 6 │ 312 │ postgres │
└──────────────┴─────────┴──────┴────────────┘
3 table(s) found.

Lens lee el manifiesto escrito por DataSpoc Pipe (o escanea archivos .parquet) y monta cada tabla como una vista DuckDB.

Ventana de terminal
dataspoc-lens catalog
┌──────────────┬─────────┬──────┬────────────┐
│ Table │ Columns │ Rows │ Source │
├──────────────┼─────────┼──────┼────────────┤
│ customers │ 8 │ 5420 │ postgres │
│ orders │ 12 │ 48k │ postgres │
│ products │ 6 │ 312 │ postgres │
└──────────────┴─────────┴──────┴────────────┘

Ve los detalles de columnas para una tabla especifica:

Ventana de terminal
dataspoc-lens catalog --detail orders
┌─────────────────┬───────────┐
│ Column │ Type │
├─────────────────┼───────────┤
│ order_id │ INTEGER │
│ customer_id │ INTEGER │
│ order_date │ DATE │
│ total │ DOUBLE │
│ status │ VARCHAR │
└─────────────────┴───────────┘
Ventana de terminal
dataspoc-lens query "SELECT status, COUNT(*) as cnt FROM orders GROUP BY status"
┌───────────┬───────┐
│ status │ cnt │
├───────────┼───────┤
│ completed │ 32100 │
│ pending │ 8450 │
│ cancelled │ 2130 │
└───────────┴───────┘
(3 row(s), 0.142s)
Ventana de terminal
dataspoc-lens shell
DataSpoc Lens Shell (DuckDB)
Type SQL or .help for commands.
lens> SELECT * FROM customers LIMIT 3;
┌─────┬──────────────┬───────────────────────┐
│ id │ name │ email │
├─────┼──────────────┼───────────────────────┤
│ 1 │ Alice Smith │ alice@example.com │
│ 2 │ Bob Johnson │ bob@example.com │
│ 3 │ Carol White │ carol@example.com │
└─────┴──────────────┴───────────────────────┘
(3 row(s), 0.008s)
lens> .quit

Para IA local gratuita usando Ollama:

Ventana de terminal
dataspoc-lens setup-ai

O configura un proveedor en la nube:

Ventana de terminal
export DATASPOC_LLM_PROVIDER=anthropic
export DATASPOC_LLM_API_KEY=sk-ant-...
Ventana de terminal
dataspoc-lens ask "What are the top 5 customers by total spending?"
SQL: SELECT c.name, SUM(o.total) as total_spent
FROM customers c JOIN orders o ON c.id = o.customer_id
GROUP BY c.name ORDER BY total_spent DESC LIMIT 5
┌──────────────┬─────────────┐
│ name │ total_spent │
├──────────────┼─────────────┤
│ Alice Smith │ 15420.50 │
│ Bob Johnson │ 12300.00 │
│ Carol White │ 9870.25 │
│ Dave Brown │ 8540.00 │
│ Eve Davis │ 7210.75 │
└──────────────┴─────────────┘
(5 row(s), 1.230s)