Pular para o conteúdo
Sparquet

O melhor framework open source de engenharia de dados

Todo pipeline do seu time,
escrito do mesmo jeito.

O Sparquet padroniza a engenharia de dados: ingestão, transformação, qualidade e entrega vivem em um contrato JSON declarativo, não em mil scripts sob medida. E como o pipeline é só JSON, uma LLM escreve tão bem quanto você: peça ao assistente dentro do Sparquet Studio, ou ao ChatGPT, Claude e Copilot em qualquer outro lugar, revise o diff e rode em qualquer Spark.

conectores
27conectores
transformações
20transformações
artefato
1artefato

Apache 2.0 · Sem cadastro · Roda na sua infraestrutura

pedidos_curados.json
{
  "name": "orders_curated",
  "input": {
    "format": "delta",
    "path": "sales.orders"
  },
  "transformations": [
    { "type": "filter", "condition": "status = 'CONFIRMED'" },
    { "type": "with_column",
      "column": "revenue",
      "expression": "quantity * unit_price" }
  ],
  "validations": {
    "on_failure": "fail",
    "rules": [{ "type": "not_null", "columns": ["id"] }]
  },
  "output": {
    "format": "delta",
    "path": "analytics.orders",
    "mode": "merge",
    "options": { "merge_keys": ["id"] }
  }
}

Pipeline é JSON, então qualquer modelo escreve um, e o linter prova antes de o Spark começar.

O mesmo contrato, como Job no canvas do Studio

  1. Deltasales.orders
  2. Filterstatus = 'CONFIRMED'
  3. With columnrevenue = qty × price
  4. Validations1 rule · fail
  5. Deltaanalytics.orders
5 nós · válido · compila para pedidos_curados.json

Por que existe

Dez engenheiros, dez jeitos de ler um CSV.

O que falta a times de dados raramente é ferramenta, é forma comum. Cada job inventa a própria estrutura, a própria nomenclatura e a própria ideia do que significa "validado", até que ninguém consegue revisar com segurança um pipeline que não escreveu. O Sparquet troca isso por um contrato que todo job obedece.

  • 01

    Um contrato só

    Fonte, transformações, regras de qualidade e destinos são campos do mesmo documento. Quem entra no time lê qualquer pipeline no primeiro dia.

  • 02

    Revisável por construção

    Mudança vira diff que o revisor consegue avaliar, não escavação entre células de notebook e estado de cluster.

  • 03

    Reaproveitado, não copiado

    Parâmetros transformam um contrato em todas as regiões, datas e clientes. Os valores mudam; a lógica fica em um lugar só.

Como você constrói

Três formas de escrever. Um artefato.

O padrão é o arquivo. Como ele nasce é escolha sua, e os três caminhos são intercambiáveis, nos dois sentidos.

  1. 01

    Escreva

    Escreva o JSON direto. O schema é pequeno o suficiente para caber na cabeça e rígido o suficiente para ser revisado em um pull request.

    pedidos_curados.json

    { "type": "filter",

    "condition": "status = ..." }

  2. 02

    Gere

    Descreva em linguagem natural, para o assistente dentro do Studio ou para qualquer modelo que você já paga. A linguagem inteira cabe em um prompt, então o que volta é JSON válido, não código que você precisa rodar para confiar.

    Qualquer LLM

    keep confirmed orders,

    upsert revenue per customer

  3. 03

    Desenhe

    Abra o Sparquet Studio e monte no canvas. Os nós são as entradas do arquivo, as conexões são a ordem, e o arquivo é o que realmente roda.

    Sparquet Studio

    Delta → Filter → Validations

    → Delta (merge)

Importe para o canvas um arquivo escrito na mão, ou exporte para o git um que você desenhou. Nada se perde no caminho.

O que o padrão cobre

Uma linguagem de pipeline completa.

Vinte transformações, vinte e sete conectores e um motor de qualidade de dados, todos documentados, tipados no editor e compreendidos pelo assistente.

Transformações

filter, select, cast, with_column, struct, group_by, join, union, sort, distinct e mais, aplicadas na ordem em que você escreve.

Qualidade de dados

Nulos, unicidade, faixa, regex, contagem de linhas, invariantes SQL e checagem de schema, com políticas fail / warn / skip e relatório por regra.

Conectores

Tabelas de lakehouse, arquivos, bancos relacionais, data warehouses, NoSQL, busca e streams, o mesmo modelo de nós para todos.

Quarentena

Roteie as linhas que violam uma regra para um destino próprio: o conjunto limpo segue, o problemático fica disponível para análise.

Parâmetros

Um arquivo, muitas execuções: placeholders {param} formatados para SQL e skip_if_false para ligar e desligar etapas inteiras.

Pushdown em runtime

collect leva um conjunto de chaves para uma {{variável}} e empurra o filtro literal IN (...) na leitura seguinte, data skipping sem gambiarra.

Múltiplos destinos

Um DataFrame, várias formas: transformações e projeções por destino em uma única passada sobre os dados.

Extensível

Registre seus próprios readers, writers, transformações e validadores. O Studio preserva tipos desconhecidos ao abrir o arquivo.

Ver a referência completa →

Sparquet Studio

A interface visual dos seus workflows.

O Studio é onde o contrato vira algo que o time enxerga. Arraste uma fonte, conecte transformações, ligue um destino, e aperte ⌘J para ler o JSON exato que vai rodar. Sem formato proprietário, sem geração escondida.

Workflow
, o container, normalmente um por domínio: Vendas, Faturamento, CRM.
Job
, um JSON de pipeline, desenhado no canvas.
Pipeline
, um conjunto ordenado de Jobs, executados em sequência na mesma sessão.
  • Cada campo documentado no lugar, com os comportamentos que normalmente só existem no código-fonte
  • Análise ao vivo que pega os erros que o Spark só reporta depois de uma hora de processamento
  • Rode um Job ou um Pipeline inteiro pelo canvas e leia contadores, qualidade e uma prévia dos dados
  • Tudo guardado no seu navegador, sem cadastro, sem servidor, sem telemetria
Conhecer o Studio
Sparquet Studio com um Job no canvas e o inspetor aberto

IA nativa por design

O formato é o que torna a IA confiável.

Peça um job PySpark a um modelo e você recebe um script que ninguém consegue verificar sem rodar em dados reais. Peça um pipeline Sparquet e você recebe um JSON curto: todo campo existe no catálogo, o linter confere ali mesmo e o diff é revisável linha a linha. O Studio traz um assistente que usa a sua própria chave, e qualquer modelo fora dele funciona igual, porque a linguagem inteira cabe em um prompt.

  • Gere um Job completo ou modifique o que já está no canvas
  • Funciona fora do Studio também: cole a referência no ChatGPT, Claude, Copilot ou no seu agente
  • Peça para explicar, otimizar ou corrigir exatamente os problemas que o linter encontrou
  • Toda proposta é revisada antes de tocar seu trabalho, e desfazer é uma tecla
Como o assistente funciona →
You

Leia pedidos da tabela Delta vendas.pedidos, mantenha os confirmados, remova duplicatas por id, falhe se id tiver nulo e faça upsert da receita por cliente em analytics.receita_cliente

orders_curated.jsongenerating…

Job proposto com 6 nós · 1 destino · 2 regras de qualidade

Apply to canvasView JSON

anthropic · openai · google · openai-compatible

Conectores

Vinte e sete fontes e destinos.

Trocar de onde vêm os dados é mudar um campo, não reescrever o job. O mesmo modelo de nós cobre lakehouse, arquivos, bancos operacionais, data warehouses, NoSQL e streams.

Lakehouse

6
  • Delta Lake
  • Iceberg
  • Hudi
  • Parquet
  • ORC
  • Avro

Arquivos

5
  • CSV
  • JSON
  • XML
  • Texto
  • Binário

Bancos

5
  • PostgreSQL
  • MySQL
  • MariaDB
  • SQL Server
  • Oracle

Data warehouses

3
  • BigQuery
  • Snowflake
  • Redshift

NoSQL e busca

6
  • MongoDB
  • DocumentDB
  • DynamoDB
  • Cassandra
  • Elasticsearch
  • OpenSearch

Streaming e views

2
  • Kafka
  • Views temporárias

27 totalVer todos os conectores →

Onde roda

Seu Spark, suas regras.

O Sparquet é uma biblioteca, não uma plataforma. Não há control plane, não há runtime hospedado e nada liga para casa.

Local

Um notebook com PySpark instalado, para desenvolver e testar.

Databricks

Reaproveita a sessão ativa; jobs e notebooks funcionam sem mudança.

EMR e Dataproc

Submeta como qualquer outra aplicação PySpark.

Synapse

Detectado automaticamente, como todo ambiente suportado.

Perguntas

O que perguntam antes de adotar.

Respostas curtas, com a versão longa a um clique na documentação.

O que é o Sparquet?

O Sparquet é um framework open source de engenharia de dados para Apache Spark. Um pipeline é um único arquivo JSON declarativo que diz de onde vêm os dados, como são transformados, quais regras de qualidade precisam passar e onde são gravados. O framework lê esse arquivo e executa com PySpark, no seu próprio cluster.

Qual a diferença de escrever um job PySpark na mão?

Um job escrito na mão codifica as mesmas cinco decisões de um jeito diferente a cada vez, então revisar um pipeline que você não escreveu vira escavação. O Sparquet fixa a forma: qualquer engenheiro lê qualquer pipeline, mudança vira diff legível, e o que nunca varia, gestão de sessão, merges, relatório de qualidade, múltiplos destinos, já está escrito e testado.

ChatGPT, Claude ou Copilot conseguem escrever um pipeline Sparquet?

Sim, e é o formato que faz isso funcionar. A linguagem inteira, vinte transformações e vinte e sete conectores, cabe em um prompt, então o modelo devolve um pipeline completo em JSON em vez de um script em que você só confia depois de rodar. O Sparquet Studio traz um assistente que usa a sua própria chave de API, e qualquer modelo fora dele funciona igual. O que volta passa pelo linter contra o catálogo real antes de o Spark começar.

Onde os pipelines do Sparquet rodam?

Em qualquer lugar onde o Spark roda: Databricks, Amazon EMR, Google Dataproc, Azure Synapse, um cluster Kubernetes ou o seu notebook. O framework detecta o ambiente e reaproveita a sessão Spark ativa quando existe uma, então o mesmo arquivo circula entre eles sem alteração.

Quais fontes e destinos são suportados?

Vinte e sete conectores, leitura e escrita, sob o mesmo modelo de nós: Delta Lake, Apache Iceberg, Apache Hudi, Parquet, CSV, JSON, ORC, Avro, XML, texto plano, PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, BigQuery, Snowflake, Redshift, MongoDB, DocumentDB, DynamoDB, Cassandra, Elasticsearch, OpenSearch, Kafka e temp views do Spark.

Preciso usar o Sparquet Studio?

Não. O Studio é o editor visual dos mesmos arquivos JSON, e é opcional nos dois sentidos: importe para o canvas um pipeline escrito na mão, ou exporte para o git um que você desenhou. O framework roda o arquivo com ou sem ele.

O Sparquet é gratuito, e para onde vão os meus dados?

O Sparquet é gratuito e open source sob a licença Apache 2.0. Instale com pip install sparquet e ele roda na sua própria infraestrutura. Não há cadastro, serviço hospedado nem telemetria, e os dados nunca saem do seu cluster.

Ler a documentação →

Padronize seu primeiro pipeline em cinco minutos.

Instale o framework, abra o studio e rode um job de verdade antes do café esfriar.

pip install sparquet