Las causas raíz son el final del camino. Deben ser el evento original en la cadena causal, la primera ficha de dominó, por así decirlo, y explicar en gran medida el problema. Si esa causa raíz del problema de datos no se produce, tampoco debería ocurrir ninguna de las causas proximales. Es directamente causal para todos ellos.
Las causas raíz, por supuesto, no siempre son claras y las correlaciones no siempre son exactas. Si no se siente seguro de su respuesta, una forma probabilística de averiguar su verdadera puntuación de confianza es probar este experimento mental: imagine que su jefe le dice que su equipo va a apostar todo por su hipótesis y que nadie la va a comprobar antes de que entre en producción, y que su nombre aparecerá en todas partes. Si está mal, es toda su culpa. ¿Qué puntuación de confianza de 0 a 100 le daría a su hipótesis? Si es inferior a 70, siga investigando.
Las causas raíz más comunes de los problemas de datos incluyen:
1. Error de usuario: comenzaremos con los errores de usuario porque son comunes. Tal vez alguien ingresó el esquema incorrecto o el valor incorrecto, lo que significa que el pipeline no lee los datos, o hizo lo correcto con valores incorrectos, y ahora tiene un error en la tarea.
2. Datos etiquetados incorrectamente: a veces las filas se desplazan en una tabla y las etiquetas correctas se aplican a las columnas equivocadas.
3. El socio de datos se olvidó de una entrega: también muy común. Puede crear un sistema a prueba de balas, pero no puede controlar lo que no puede ver y si los problemas de datos están en los datos de origen, provocará que los pipelines perfectamente buenas se comporten mal.
4. Hay un error en el código: esto es común cuando hay una nueva versión del pipeline. Puede averiguarlo bastante rápido con software de versionado como Git o GitLab. Compare el código de producción con una versión anterior y ejecute una prueba con esa versión anterior.
5. Error de datos OCR: su escáner óptico lee mal los datos, lo que provoca valores extraños (o faltantes).
6. Problema con los datos deteriorados: el conjunto de datos está tan desactualizado que ya no es válido.
7. Problema de datos duplicados: a menudo, un proveedor no podía entregar los datos, por lo que el pipeline se ejecutaba con los datos de la semana anterior.
8. Problema de permisos: el pipeline falló porque el sistema carecía de permiso para extraer los datos o realizar una transformación.
9. Error de infraestructura: tal vez agotó su memoria disponible o el límite de llamadas a la API, su clúster Apache Spark no se ejecutó o su almacén de datos está siendo inusualmente lento, lo que hace que la ejecución continúe sin los datos.
10. Cambios en la programación: alguien (o algo) cambió la programación y hace que el pipeline se ejecute fuera de servicio o no se ejecute.
11. Conjunto de datos sesgado: muy difícil de clasificar. No hay una buena forma de averiguarlo, excepto ejecutando algunas pruebas para ver si los datos son anómalos en comparación con un conjunto de datos reales similar, o averiguar cómo se recopilaron o generaron.
12. Error del orquestador: el programador de pipelines no ha podido programar ni ejecutar el trabajo.
13. Fantasma en la máquina (datos ex machina): es realmente incognoscible. Es difícil admitir que es así, pero es cierto para algunas cosas. Lo mejor que puede hacer es documentar y estar preparado para la próxima vez que pueda recopilar más datos y empezar a establecer correlaciones.
Y luego, por supuesto, está la realidad en la que la causa raíz no está del todo clara. Muchas cosas están correlacionadas y probablemente sean interdependientes, pero no hay una respuesta clara, y después de hacer cambios, ha solucionado el problema de los datos, aunque no está seguro de por qué.
En esos casos, como en cualquier otro, anote su hipótesis en el registro y, cuando pueda volver a ella, continúe probando los datos históricos y esté atento a nuevos problemas y causas más explicativas.