Spark · Delta Lake · Databricks
Pipelines de datos gobernados por contratos¶
DKOps es un framework en Python para construir lakehouses Delta con la arquitectura Medallion. Describes tus tablas y tus cargas en JSON, y el framework se encarga de crearlas, validarlas y mantenerlas. El mismo código corre en tu equipo y en Databricks.
Qué resuelve¶
-
Contratos versionados
El schema, las particiones, los permisos y las propiedades de cada tabla viven en JSON junto al código, no repartidos entre notebooks.
-
Ingesta declarativa
Cuatro estrategias de promoción a Silver que eliges desde el contrato:
full_merge,cdc_merge,incremental_replaceyappend_dedup. -
Escritura y lectura gobernadas
TableWriteryTableReadervalidan contra el contrato antes de tocar la tabla, y aplican comentarios, máscaras y permisos por ti. -
Local y Databricks
El framework detecta dónde corre y resuelve catálogos y rutas desde
config.json. No hay ramasif databricksen tu pipeline. -
Migraciones seguras
SafeMigratorcompara el contrato con la tabla real y genera solo los cambios que no pierden datos. -
Trazabilidad operativa
Cada ejecución queda registrada en una tabla Delta que puedes consultar con SQL para auditoría y monitoreo.
Un pipeline completo en pocas líneas¶
from DKOps.launcher import Launcher
from DKOps.ingestion.engine import IngestionEngine
Launcher("config/config.json")
engine = IngestionEngine.from_launcher(
bronze_contracts_dir = "ingestion/batch",
silver_contracts_dir = "ingestion/silver",
tables_base_dir = ".",
ops_path = "/tmp/ops/control",
)
engine.ingest_bronze() # de Landing a Bronze
engine.promote_silver() # de Bronze a Silver
engine.status()
Toda la lógica de qué leer, dónde escribir y cómo fusionar está en los contratos JSON. Si quieres ver cómo se arma un proyecto desde cero, sigue la guía de primeros pasos o abre alguno de los demos.