La misma empresa aparece en 5 fuentes, traídas por 4 productores, con nombres e identificadores distintos. Esta plataforma la convierte en un solo golden record explicable: cada atributo dice de qué fuente vino y cada unión dice por qué se hizo. Sexto proyecto de la serie, y el primero que cruza on-prem, tres nubes y dos warehouses en un mismo DAG.
Un SQL Server legacy con CDC (GLEIF), una Lambda en AWS (SEC EDGAR), GitHub Actions + BigQuery (GDELT) y un container (OpenSanctions + Wikidata) guardan primero en su propio almacenamiento y después empujan cada lote al landing de Unity Catalog con un manifest (sha256, registros, rango extraído). Contratos de Soda Core aprueban el lote o lo mandan a cuarentena antes de Bronze; Silver es incremental con SCD2 y la resolución de identidades une 1.268 registros en 1.136 entidades. Gold se construye con dbt en Iceberg, y Snowflake lo lee vía Iceberg REST con una base catalog-linked, sin copiar datos. Airflow 3 orquesta todo y avisa por Telegram; el consumo es un dashboard AI/BI con Genie.
resolution.revision en vez de unirse suponiendo el país._manifest vacío (sin_cambios: true), así "estoy vivo" se separa de "hay datos nuevos".CREATE OR REPLACE cambiaba el UUID de la tabla y rompía Snowflake; Gold pasó a incremental con insert_overwrite, mismo table_id.silver y la base catalog-linked rechaza escrituras incluso a ACCOUNTADMIN. Un SP por productor y 0 secretos en el state de Terraform.| Pregunta típica de entrevista | Dónde está la respuesta |
|---|---|
| ¿Cómo resolvés la misma entidad entre fuentes sin un ID común? | databricks/resolucion/calibracion/INFORME.md — reglas calibradas con P/R e intervalos de Wilson |
| ¿Cómo evitás que un lote roto contamine el lakehouse? | Contratos Soda en la llegada + cuarentena — docs/adr/0006-bronze-exige-contrato.md |
| ¿Cómo compartís datos entre Databricks y Snowflake sin copiarlos? | Base catalog-linked vía Iceberg REST + credential vending — snowflake/evidencia/ |
| ¿Cómo distinguís un productor caído de uno sin novedades? | Manifest de latido — docs/adr/0014-latido-separado-de-frescura.md |
| ¿Cómo bajás el costo de un pipeline que se recalcula entero? | Silver incremental, 423 s → 32 s — docs/adr/0011-silver-incremental-y-cuota.md |
| ¿Cómo manejás secretos en una infra multicloud con Terraform? | 0 secretos en el state, un SP por productor — docs/adr/0002 y docs/adr/0012 |