Pular para o conteúdo

Exportar para formato portátil

Exportar para formato portátil empacota os fluxos de trabalho de um projeto como um programa Python autónomo que é executado no DuckDB sem ligação ao PlaidCloud. Produz uma cópia portátil da lógica e dos dados do projeto que é executada offline, por si só.

É uma exportação unidirecional. O pacote gerado é um instantâneo num determinado momento; não volta a sincronizar e, ao exportar novamente após alterações, produz um pacote novo.

projetofluxos de trabalho + dadosExportarunidirecionalpacote portátil — executado offlinePrograma PythonMotor DuckDBDados ParquetCOVERAGE.mdpassos SQL: exatospassos com efeitos secundários: stubs
Uma exportação unidirecional, num determinado momento: o projeto transforma-se num pacote Python + DuckDB autónomo que é executado sem ligação ao PlaidCloud. As transformações SQL são reproduzidas exatamente; os passos com efeitos secundários são entregues como stubs, com a fidelidade registada em COVERAGE.md.
  1. Abra o Analyze e selecione o separador Projetos.
  2. Selecione um único projeto.
  3. Abra o menu Ações (ou clique com o botão direito do rato no projeto) e escolha Exportar para formato portátil — encontra-se junto a Export Project.
  4. Na caixa de diálogo:
    • Conta de documentos — a conta de documentos para onde o pacote é gravado.
    • Caminho da pasta — a pasta dentro dessa conta, por exemplo /exports.
    • Include data — quando assinalada (o valor predefinido), as tabelas de origem e de instantâneo são incluídas como Parquet para que o pacote seja executado sem quaisquer dados externos. Desassinale-a para enviar apenas o código e os contratos de esquema, que depois preenche por si.
  5. Clique em Exportar. Quando terminar, uma mensagem confirma onde o pacote foi gravado e quantas tabelas foram capturadas em instantâneo.

A ação exige acesso ao projeto e a leitura das respetivas tabelas — o mesmo nível de acesso necessário atualmente para exportar dados de tabelas.

A exportação é um ficheiro .zip que contém:

  • pipeline_<workflow>.py — um script por fluxo de trabalho, com os passos pela ordem de execução.
  • config.py — a seleção do motor (DuckDB por predefinição) e o nome do esquema do projeto.
  • _runtime.py — uma pequena camada de compatibilidade do motor; a única dependência além do DuckDB.
  • stubs.py — funções sem efeito para operações não portáteis, cada uma com a configuração original do passo.
  • data/ — instantâneos Parquet das tabelas de origem e congeladas (quando Include data estava assinalada).
  • requirements.txt — as dependências Python (apenas duckdb).
  • README.md, COVERAGE.md, RUN_ORDER.md — como executar, a fidelidade por passo e a ordem pela qual executar os scripts dos fluxos de trabalho.
  1. Descompacte o pacote e crie um ambiente Python:

    Janela do terminal
    python -m venv .venv && source .venv/bin/activate
    pip install -r requirements.txt
  2. Execute cada script de fluxo de trabalho, pela ordem indicada em RUN_ORDER.md:

    Janela do terminal
    python pipeline_<workflow>.py

Cada script cria as suas tabelas numa base de dados DuckDB local (export.duckdb por predefinição). Os passos de transformação SQL são recalculados em tempo real; os passos substituídos por stubs imprimem um aviso e deixam no lugar a saída capturada em instantâneo. Para apontar o pacote ao seu próprio armazém em vez do DuckDB, defina ENGINE em config.py.