Quickstart
Este guia mostra como criar e executar um pipeline que ingere um arquivo CSV em Parquet no filesystem local.
1. Instalar o Pipe e o tap de CSV
Seção intitulada “1. Instalar o Pipe e o tap de CSV”pip install dataspoc-pipepip install tap-csv2. Criar um CSV de exemplo
Seção intitulada “2. Criar um CSV de exemplo”mkdir -p /tmp/sample-datacat > /tmp/sample-data/orders.csv << 'EOF'id,customer,product,amount,created_at1,Alice,Widget,29.99,2025-01-152,Bob,Gadget,49.99,2025-01-163,Charlie,Widget,29.99,2025-01-174,Alice,Gizmo,19.99,2025-01-185,Diana,Gadget,49.99,2025-01-19EOF3. Inicializar o diretório de configuração
Seção intitulada “3. Inicializar o diretório de configuração”dataspoc-pipe initSaída esperada:
Structure created at /home/you/.dataspoc-pipeNext step: dataspoc-pipe add <name>Isso cria a seguinte estrutura:
~/.dataspoc-pipe/ config.yaml # Global defaults sources/ # Tap configuration files pipelines/ # Pipeline YAML definitions transforms/ # Optional Python transforms4. Criar um pipeline
Seção intitulada “4. Criar um pipeline”dataspoc-pipe add my-first-pipelineO assistente interativo vai perguntar:
Creating pipeline: my-first-pipeline
Taps with template: tap-csv, tap-postgres, tap-mysql, ...
Tap Singer: tap-csvTemplate found for tap-csvSource config: /home/you/.dataspoc-pipe/sources/my-first-pipeline.jsonDestination bucket (e.g.: s3://my-bucket, file:///tmp/lake): file:///tmp/lakeBase path in bucket [raw]: rawCompression (zstd, snappy, gzip, none) [zstd]: zstdEnable incremental extraction? [y/N]: NCron expression for scheduling (empty to skip):
Pipeline saved at /home/you/.dataspoc-pipe/pipelines/my-first-pipeline.yaml
Next steps: 1. Edit source config: /home/you/.dataspoc-pipe/sources/my-first-pipeline.json 2. Validate: dataspoc-pipe validate my-first-pipeline 3. Run: dataspoc-pipe run my-first-pipeline5. Editar a configuração da fonte
Seção intitulada “5. Editar a configuração da fonte”Abra ~/.dataspoc-pipe/sources/my-first-pipeline.json e aponte para o CSV:
{ "csv_files_definition": [ { "entity": "orders", "path": "/tmp/sample-data/orders.csv", "keys": ["id"] } ]}6. Verificar o YAML do pipeline
Seção intitulada “6. Verificar o YAML do pipeline”O arquivo gerado em ~/.dataspoc-pipe/pipelines/my-first-pipeline.yaml fica assim:
source: tap: tap-csv config: /home/you/.dataspoc-pipe/sources/my-first-pipeline.jsondestination: bucket: file:///tmp/lake path: raw compression: zstd partition_by: _extraction_dateincremental: enabled: falseschedule: cron: null7. Validar
Seção intitulada “7. Validar”dataspoc-pipe validate my-first-pipelineSaída esperada:
Validating: my-first-pipeline Bucket OK: file:///tmp/lake Tap OK: tap-csv found in PATH8. Executar o pipeline
Seção intitulada “8. Executar o pipeline”dataspoc-pipe run my-first-pipelineSaída esperada:
Running: my-first-pipeline orders: 5 records...Done! 5 records in 1 stream(s) orders: 59. Verificar o status
Seção intitulada “9. Verificar o status”dataspoc-pipe status Pipelines┌───────────────────┬─────────────────────┬─────────┬──────────┬─────────┐│ Pipeline │ Last Run │ Status │ Duration │ Records │├───────────────────┼─────────────────────┼─────────┼──────────┼─────────┤│ my-first-pipeline │ 2025-01-20T10:30:00 │ success │ 1.2s │ 5 │└───────────────────┴─────────────────────┴─────────┴──────────┴─────────┘10. Ver o log de execução
Seção intitulada “10. Ver o log de execução”dataspoc-pipe logs my-first-pipeline{ "pipeline": "my-first-pipeline", "status": "success", "started_at": "2025-01-20T10:30:00Z", "finished_at": "2025-01-20T10:30:01Z", "duration_seconds": 1.2, "total_records": 5, "streams": { "orders": 5 }}11. Inspecionar o manifest
Seção intitulada “11. Inspecionar o manifest”dataspoc-pipe manifest file:///tmp/lakeO manifest mostra todas as tabelas que o Pipe gravou neste bucket, incluindo schemas, contagem de registros e timestamps. Este é o catálogo que ferramentas downstream como o DataSpoc Lens usam para descobrir os dados disponíveis.
12. Inspecionar o bucket
Seção intitulada “12. Inspecionar o bucket”/tmp/lake/ .dataspoc/ manifest.json state/my-first-pipeline/state.json logs/my-first-pipeline/2025-01-20T103000Z.json raw/ csv/orders/ dt=2025-01-20/ orders_0000.parquetO arquivo Parquet está pronto para ser consultado com DuckDB, Pandas, Polars ou DataSpoc Lens.
Próximos passos
Seção intitulada “Próximos passos”- Configuração — referência completa do YAML de pipeline
- Extração Incremental — busque apenas dados novos
- Transformações — limpe dados durante a ingestão
- Multi-Cloud Storage — grave em S3, GCS ou Azure
- MCP Server — conecte agentes de IA ao Pipe