Transformações
filter, select, cast, with_column, struct, group_by, join, union, sort, distinct e mais, aplicadas na ordem em que você escreve.
O melhor framework open source de engenharia de dados
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.
Apache 2.0 · Sem cadastro · Roda na sua infraestrutura
{
"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
Por que existe
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.
Fonte, transformações, regras de qualidade e destinos são campos do mesmo documento. Quem entra no time lê qualquer pipeline no primeiro dia.
Mudança vira diff que o revisor consegue avaliar, não escavação entre células de notebook e estado de cluster.
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
O padrão é o arquivo. Como ele nasce é escolha sua, e os três caminhos são intercambiáveis, nos dois sentidos.
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 = ..." }
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
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
Vinte transformações, vinte e sete conectores e um motor de qualidade de dados, todos documentados, tipados no editor e compreendidos pelo assistente.
filter, select, cast, with_column, struct, group_by, join, union, sort, distinct e mais, aplicadas na ordem em que você escreve.
Nulos, unicidade, faixa, regex, contagem de linhas, invariantes SQL e checagem de schema, com políticas fail / warn / skip e relatório por regra.
Tabelas de lakehouse, arquivos, bancos relacionais, data warehouses, NoSQL, busca e streams, o mesmo modelo de nós para todos.
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.
Um arquivo, muitas execuções: placeholders {param} formatados para SQL e skip_if_false para ligar e desligar etapas inteiras.
collect leva um conjunto de chaves para uma {{variável}} e empurra o filtro literal IN (...) na leitura seguinte, data skipping sem gambiarra.
Um DataFrame, várias formas: transformações e projeções por destino em uma única passada sobre os dados.
Registre seus próprios readers, writers, transformações e validadores. O Studio preserva tipos desconhecidos ao abrir o arquivo.
Sparquet Studio
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.

IA nativa por design
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.
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
Job proposto com 6 nós · 1 destino · 2 regras de qualidade
anthropic · openai · google · openai-compatible
Conectores
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.
27 totalVer todos os conectores →
Onde roda
O Sparquet é uma biblioteca, não uma plataforma. Não há control plane, não há runtime hospedado e nada liga para casa.
Um notebook com PySpark instalado, para desenvolver e testar.
Reaproveita a sessão ativa; jobs e notebooks funcionam sem mudança.
Submeta como qualquer outra aplicação PySpark.
Detectado automaticamente, como todo ambiente suportado.
Perguntas
Respostas curtas, com a versão longa a um clique na documentação.
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.
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.
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.
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.
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.
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 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.
Instale o framework, abra o studio e rode um job de verdade antes do café esfriar.
pip install sparquet