Saltar al contenido principal

Pon tus datos bajo contrato

¿Cómo pones una tabla existente bajo un Data Contract?

Por Dr. Simon Harrer · · video de 1:56 · 8 diapositivas

En resumen

Importa la tabla existente con la Data Contract CLI y prueba los datos contra el resultado. Añade después lo que solo tú sabes. A partir de ahí, el Data Contract es la fuente de verdad y cada cambio empieza en el Data Contract.

Ver en YouTube
Diapositiva 1 del episodio 5 de Entropy Explains, Una tabla sin contrato: La tabla orders lleva años en producción.

Una tabla sin contrato

La tabla orders lleva años en producción. Tres equipos la usan, pero no tiene Data Contract. Si escribes el Data Contract a mano, vuelves a teclear cada columna y cada tipo. Cometerás errores. Así que partes de los datos que ya tienes.

Diapositiva 2 del episodio 5 de Entropy Explains, Importar desde la base de datos: La Data Contract CLI importa la tabla directamente desde la base de datos.

Importar desde la base de datos

La Data Contract CLI importa la tabla directamente desde la base de datos. Le das el origen, la base de datos y la tabla. El comando escribe un archivo de Data Contract nuevo. No tecleas las columnas ni los tipos a mano, así que el Data Contract no tiene errores de escritura.

Diapositiva 3 del episodio 5 de Entropy Explains, Estructura y servidores: La importación lee las columnas, los tipos, la nulabilidad, las claves primarias y los comentarios.

Estructura y servidores

La importación lee las columnas, los tipos, la nulabilidad, las claves primarias y los comentarios. Escribe además un bloque servers. Así, el Data Contract sabe dónde están los datos. El estado del Data Contract nuevo es draft.

Diapositiva 4 del episodio 5 de Entropy Explains, El primer test es la línea base: Ahora pruebas el Data Contract contra los datos reales.

El primer test es la línea base

Ahora pruebas el Data Contract contra los datos reales. Todas las comprobaciones pasan, porque el Data Contract describe los datos tal como son. Ese resultado es tu línea base. A partir de ahí, cada cambio en la base de datos que no concuerde con el Data Contract hace fallar un test.

Diapositiva 5 del episodio 5 de Entropy Explains, Añade lo que solo tú sabes: La importación solo conoce la estructura.

Añade lo que solo tú sabes

La importación solo conoce la estructura. El significado de los datos y tus promesas vienen de ti. Añades una descripción, una clasificación, una regla de calidad, una promesa de frescura y un responsable. La base de datos no te puede dar esa información.

Diapositiva 6 del episodio 5 de Entropy Explains, El test encuentra un fallo: Ejecutas el test otra vez.

El test encuentra un fallo

Ejecutas el test otra vez. Tres pedidos tienen un total negativo. Nadie había visto ese fallo antes. Corriges los datos hasta que todas las comprobaciones pasan. Después pones el estado del Data Contract en active.

Diapositiva 7 del episodio 5 de Entropy Explains, El Data Contract manda: Importas solo una vez.

El Data Contract manda

Importas solo una vez. A partir de ahí, el Data Contract es la fuente de verdad. Cada cambio empieza en el Data Contract y se prueba en CI. La documentación, el DDL de SQL, los modelos de dbt y la ficha del marketplace de datos salen de él.

Diapositiva 8 del episodio 5 de Entropy Explains, Data-first una vez, después contract-first: Importa lo que tienes, pruébalo y añade lo que solo tú sabes.

Data-first una vez, después contract-first

Importa lo que tienes, pruébalo y añade lo que solo tú sabes. Vas data-first solo una vez. Después, cada cambio es contract-first. El Data Contract manda y la base de datos sigue. El código del pipeline, la documentación y la ficha del marketplace de datos también siguen al Data Contract.