Las causas principales son el final del camino. Deberían ser el evento original en la línea de causalidad (la primera ficha de dominó, por así decirlo) y, en su mayoría, explicar el problema. Si esa causa principal del problema de datos no ocurre, tampoco debería ocurrir ninguna de las causas proximales. Es directamente causal para todas.
Por supuesto, las causas principales no siempre están claras y las correlaciones no siempre son exactas. Si no se siente seguro con su respuesta, una forma probabilística de determinar su verdadero puntaje de confianza es probar este experimento mental: supongamos que su jefe le dice que su equipo hará todo lo posible por su hipótesis y que nadie la va a verificar antes de entrar en producción, y su nombre estará por todas partes. Si sale mal, toda la culpa será suya? ¿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 principales de los problemas de datos incluyen:
1. Error del usuario: comenzaremos con los errores del usuario porque son comunes. Quizás alguien ingresó el esquema incorrecto o el valor incorrecto, lo que significa que la canalización no lee los datos, o hizo lo correcto con valores incorrectos, y ahora tiene una falla 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 incorrectas.
3. El socio de datos perdió una entrega: también es 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 buenos se comporten mal.
4. Error en el código: esto es común cuando hay una nueva versión de la canalización. Puede resolver esto bastante rápido con un software de control de versiones 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 de OCR: su escáner óptico lee mal los datos, lo que genera valores extraños (o faltantes).
6. Problema de 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 datos, por lo que el pipeline se ejecutó para los datos de la semana pasada.
8. Problema de permisos: la canalización falló porque el sistema no tenía permiso para extraer los datos o realizar una transformación.
9. Error de infraestructura: tal vez maximizó 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 la canalización se ejecute fuera de servicio o no se ejecute.
11. Conjunto de datos con sesgo: muy difícil de resolver. No hay una buena manera de descubrir esto, excepto ejecutando algunas pruebas para ver si los datos son anómalos en comparación con un conjunto de datos verdadero similar, o averiguar cómo se recopilaron o generaron.
12. Falla del orquestador: el programador de pipelines no pudo programar o ejecutar el trabajo.
13. Fantasma en la máquina (datos ex machina): es realmente incognoscible. Es difícil admitir que ese es el caso, pero es cierto en algunas ocasiones. Lo mejor que puede hacer es documentarlo y estar preparado para la próxima vez, cuando pueda recopilar más datos y empezar a establecer correlaciones.
Y luego, por supuesto, está la realidad en la que la causa principal 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, arregló 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.