Garantizar la calidad de los datos mediante contratos de datos
Un contrato de datos es un acuerdo formal entre un productor y un consumidor de datos que define, entre otras cosas, la estructura, el esquema y la calidad esperados de los datos. Garantiza que los datos cumplan los requisitos y se ajusten a las definiciones de la empresa.
Los contratos de datos destinados a su uso en IBM watsonx.data intelligence deben estar redactados en formato YAML o JSON y cumplir con el Estándar de Contratos de Datos Abiertos.
Vista previa técnica Esta es una vista previa de tecnología y todavía no está soportada para su uso en entornos de producción.
- Permisos necesarios
- Debes tener el rol de administrador o editor en el proyecto, así como los permisos de usuario «Gestionar activos de calidad de datos» y «Ejecutar reglas de calidad de datos ».
Los contratos de datos se pueden gestionar y aplicar íntegramente a través de la interfaz de usuario de Data Product Hub. No obstante, los usuarios también pueden gestionar y controlar las versiones de los archivos de contrato en formato YAML o JSON en un sistema de control de versiones externo, como Git. A continuación, pueden ejecutar validaciones de la calidad de los datos directamente mediante la API de aplicación de contratos de datos.
La API de aplicación de contratos de datos ofrece métodos que puedes utilizar para estas tareas:
- Sube un nuevo contrato de datos o actualiza uno ya existente.
- Realiza pruebas de validación de la calidad de los datos basadas en ese contrato.
- Recupera los resultados de la prueba.
Las llamadas a la API requieren uno o varios de estos parámetros:
- project_id
- El ID del proyecto que deseas utilizar como espacio de trabajo para tus validaciones.
- id_contrato_datos
- El identificador del contrato de datos con el que desea validar sus datos. Puedes obtener el ID del
idcampo de la respuesta al crear un contrato de datos. También puedes enviar unaGET /data_quality/v4/projects/{project_id}/data_contractsllamada para obtener una lista de todos los contratos de datos de un proyecto.
Los siguientes tipos de comprobaciones de calidad de los datos se validan para los contratos de datos:
- Reglas en formato SQL
- Estas métricas de la biblioteca a nivel de columna:
- Valores nulos
- Valores perdidos
- Valores no válidos
- Valores duplicados
- Estas métricas de la biblioteca a nivel de esquema:
- Recuento de filas
- Valores duplicados
Para cada comprobación, puedes proporcionar información sobre la programación en el contrato de datos.
Para obtener más información sobre estas comprobaciones de calidad de los datos y sobre cómo configurar la programación, consulte el Estándar de Contrato de Datos Abiertos: Calidad de los datos.
Aplicar un nuevo contrato de datos
Quieres aplicar un contrato de datos que aún no existe en el proyecto:
Crea el contrato en formato YAML o JSON, por ejemplo, en Git.
Opcional: Comprueba que el contrato cumple con la sintaxis definida en el estándar ODCS antes de crearlo en el proyecto:
POST /data_quality/v4/projects/{project_id}/data_contracts_validationCrea el contrato en el proyecto:
POST /data_quality/v4/projects/{project_id}/data_contractsEjecuta la prueba:
POST /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/testLos activos de datos y las reglas SQL definidas en el contrato de datos se crean en el proyecto y las reglas se ejecutan, ya sea directamente o de forma programada. Si desea eliminar las reglas de calidad de datos del proyecto una vez finalizada la prueba, establezca el
retain_dq_objectsparámetro de la llamada enfalse.Recuperar los resultados de las pruebas:
GET /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/test_resultsRevisa los resultados para determinar si los datos cumplen con los estándares de calidad establecidos.
Aplicación de un contrato de datos actualizado
Has actualizado el contrato de datos y debes volver a comprobar tus datos. Por ejemplo, han cambiado los datos sujetos al contrato de datos o los requisitos de calidad de los datos.
Actualiza el contrato en el repositorio de código fuente, por ejemplo, en Git.
Actualiza el contrato en el proyecto:
PUT /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}Ejecuta la prueba:
POST /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/testEn función de los cambios que se produzcan en el contrato de datos, se actualizan o añaden los activos de datos y las reglas SQL, y estas reglas se ejecutan, ya sea de forma inmediata o según un calendario programado.
Recuperar los resultados de las pruebas:
GET /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/test_resultsRevisa los resultados para determinar si los datos cumplen con los estándares de calidad establecidos.
Buscar un contrato de datos específico y realizar pruebas o repetirlas según sea necesario
Quieres saber si existe un contrato concreto en tu proyecto y si se ha aplicado, para decidir si debes volver a ejecutar las pruebas de calidad de los datos o incluso crear un nuevo contrato.
Selecciona el contrato que deseas buscar en el repositorio de origen. Anota el nombre, el ID o cualquier metadato que puedas relacionar con el contenido del proyecto.
Enumera los contratos de datos que hay en el proyecto:
GET /data_quality/v4/projects/{project_id}/data_contractsSi el contrato que buscas existe en el proyecto, comprueba si hay resultados disponibles:
GET /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/test_resultsSi los resultados están disponibles y siguen siendo válidos, no es necesario tomar ninguna medida adicional.
Si no hay resultados disponibles o si los resultados existentes están desactualizados, por ejemplo, porque se basan en un contrato anterior o en datos antiguos, realiza la prueba:
POST /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/testObtener los resultados:
GET /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/test_resultsSi el contrato que buscas no existe en el proyecto, sigue los pasos que se indican en «Aplicar un nuevo contrato de datos ».
Eliminar contratos, reglas o resultados
Puedes eliminar los contratos de datos y los resultados de las pruebas de un proyecto:
Eliminar uno o varios contratos:
DELETE /data_quality/v4/projects/{project_id}/data_contractsIndique los ID de los contratos en una lista separada por comas.
Eliminar los resultados de las pruebas de un contrato concreto:
DELETE /data_quality/v4/projects/{project_id}/data_contracts/{data_contract_id}/test_results