Transformaciones
filter, select, cast, with_column, struct, group_by, join, union, sort, distinct y más, aplicadas en el orden en que las escribes.
El mejor framework open source de ingeniería de datos
Sparquet estandariza la ingeniería de datos: ingesta, transformación, calidad y entrega viven en un contrato JSON declarativo, no en mil scripts a medida. Y como el pipeline es solo JSON, un LLM lo escribe tan bien como tú: pídeselo al asistente dentro de Sparquet Studio, o a ChatGPT, Claude y Copilot en cualquier otro lugar, revisa el diff y córrelo en cualquier Spark.
Apache 2.0 · Sin cuenta · Corre en tu infraestructura
{
"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"] }
}
}Un pipeline es JSON, así que cualquier modelo escribe uno, y el linter lo prueba antes de que Spark arranque.
El mismo contrato, como Job en el lienzo del Studio
Por qué existe
A los equipos de datos rara vez les faltan herramientas, les falta una forma común. Cada trabajo inventa su estructura, su nomenclatura y su idea de qué significa "validado", hasta que nadie puede revisar con seguridad un pipeline que no escribió. Sparquet lo reemplaza por un contrato que todos cumplen.
Fuente, transformaciones, reglas de calidad y destinos son campos del mismo documento. Quien entra al equipo lee cualquier pipeline el primer día.
Un cambio aparece como un diff que se puede razonar, no como arqueología entre celdas de cuaderno y estado del clúster.
Los parámetros convierten un contrato en cada región, fecha y cliente. Cambian los valores; la lógica vive en un solo sitio.
Cómo lo construyes
El estándar es el archivo. Cómo se escribe lo decides tú, y los tres caminos son intercambiables, en ambos sentidos.
Escribe el JSON directamente. El esquema es lo bastante pequeño para tenerlo en la cabeza y lo bastante estricto para revisarlo en un pull request.
pedidos_curados.json
{ "type": "filter",
"condition": "status = ..." }
Descríbelo en lenguaje natural, al asistente dentro del Studio o a cualquier modelo que ya pagas. El lenguaje entero cabe en un prompt, así que lo que vuelve es JSON válido, no código que tengas que ejecutar para confiar.
Cualquier LLM
keep confirmed orders,
upsert revenue per customer
Abre Sparquet Studio y móntalo en el lienzo. Los nodos son las entradas del archivo, las conexiones su orden, y el archivo es lo que realmente corre.
Sparquet Studio
Delta → Filter → Validations
→ Delta (merge)
Importa al lienzo un archivo escrito a mano, o exporta a git uno que dibujaste. No se pierde nada en el camino.
Qué cubre el estándar
Veinte transformaciones, veintisiete conectores y un motor de calidad de datos, todos documentados, tipados en el editor y comprendidos por el asistente.
filter, select, cast, with_column, struct, group_by, join, union, sort, distinct y más, aplicadas en el orden en que las escribes.
Nulos, unicidad, rango, regex, conteo de filas, invariantes SQL y comprobación de esquema, con políticas fail / warn / skip e informe por regla.
Tablas de lakehouse, archivos, bases relacionales, data warehouses, NoSQL, búsqueda y streams, el mismo modelo de nodos para todos.
Envía las filas que incumplen una regla a su propio destino: lo limpio se publica y lo problemático queda para revisar.
Un archivo, muchas ejecuciones: marcadores {param} formateados para SQL y skip_if_false para activar o desactivar pasos enteros.
collect lleva un conjunto de claves a una {{variable}} y empuja el filtro literal IN (...) en la siguiente lectura, data skipping sin pegamento manual.
Un DataFrame, varias formas: transformaciones y proyecciones por destino en una sola pasada sobre los datos.
Registra tus propios readers, writers, transformaciones y validadores. El Studio conserva intactos los tipos que no conoce.
Sparquet Studio
El Studio es donde el contrato se vuelve algo que el equipo ve. Arrastra una fuente, conecta transformaciones, enlaza un destino, y pulsa ⌘J para leer el JSON exacto que se ejecutará. Sin formato propietario, sin generación oculta.

IA nativa por diseño
Pídele a un modelo un job de PySpark y recibes un script que nadie puede verificar sin correrlo sobre datos reales. Pídele un pipeline de Sparquet y recibes un JSON corto: cada campo existe en el catálogo, el linter lo revisa ahí mismo y el diff se lee línea por línea. El Studio trae un asistente que usa tu propia clave, y cualquier modelo fuera de él funciona igual, porque el lenguaje entero cabe en un prompt.
Lee pedidos de la tabla Delta ventas.pedidos, quédate con los confirmados, elimina duplicados por id, falla si id tiene nulos y haz upsert de los ingresos por cliente en analytics.ingresos_cliente
Job propuesto con 6 nodos · 1 destino · 2 reglas de calidad
anthropic · openai · google · openai-compatible
Conectores
Cambiar de dónde vienen los datos es cambiar un campo, no reescribir el trabajo. El mismo modelo de nodos cubre lakehouse, archivos, bases operativas, data warehouses, NoSQL y streams.
27 totalVer todos los conectores →
Dónde corre
Sparquet es una librería, no una plataforma. No hay plano de control, no hay runtime alojado y nada llama a casa.
Un portátil con PySpark instalado, para desarrollo y pruebas.
Reutiliza la sesión activa; los jobs y cuadernos siguen igual.
Envíalo como cualquier otra aplicación PySpark.
Detectado automáticamente, como cualquier entorno soportado.
Preguntas
Respuestas cortas, con la versión larga a un clic en la documentación.
Sparquet es un framework open source de ingeniería de datos para Apache Spark. Un pipeline es un único archivo JSON declarativo que dice de dónde vienen los datos, cómo se transforman, qué reglas de calidad deben pasar y dónde se escriben. El framework lee ese archivo y lo ejecuta con PySpark, en tu propio clúster.
Un job escrito a mano codifica las mismas cinco decisiones con una forma distinta cada vez, así que revisar un pipeline que no escribiste se vuelve arqueología. Sparquet fija la forma: cualquier ingeniero lee cualquier pipeline, un cambio aparece como un diff legible, y lo que nunca varía, manejo de sesión, merges, reporte de calidad, múltiples destinos, ya está escrito y probado.
Sí, y el formato es lo que lo hace posible. El lenguaje entero, veinte transformaciones y veintisiete conectores, cabe en un prompt, así que el modelo devuelve un pipeline completo en JSON en lugar de un script en el que solo confías tras ejecutarlo. Sparquet Studio trae un asistente que usa tu propia clave de API, y cualquier modelo fuera de él funciona igual. Lo que vuelve pasa por el linter contra el catálogo real antes de que Spark arranque.
Donde sea que corra Spark: Databricks, Amazon EMR, Google Dataproc, Azure Synapse, un clúster de Kubernetes o tu portátil. El framework detecta el entorno y reutiliza la sesión de Spark activa cuando existe, así que el mismo archivo se mueve entre ellos sin tocarlo.
Veintisiete conectores, lectura y escritura, bajo el mismo modelo de nodos: 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 y temp views de Spark.
No. El Studio es el editor visual de los mismos archivos JSON, y es opcional en ambos sentidos: importa al lienzo un pipeline escrito a mano, o exporta a git uno que dibujaste. El framework ejecuta el archivo con o sin él.
Sparquet es gratis y open source bajo la licencia Apache 2.0. Instálalo con pip install sparquet y corre en tu propia infraestructura. No hay cuenta, ni servicio alojado, ni telemetría, y los datos nunca salen de tu clúster.
Instala el framework, abre el studio y ejecuta un trabajo real antes de que se enfríe el café.
pip install sparquet