Badanie jakości danych za pomocą procesu ETL

Cel

Implementacja procesu ETL ładującego hurtownię danych który przeprowadzi testy jakości i spójności danych i wygeneruje raporty z rekordami nie spełniającymi reguł walidacji. Scenariusz ten pokazuje ponadto jak zaimplementować podstawowe czynności czyszczenia danych za pomocą narzędzia ETL.

Jakość danych

Proces zarządzania jakością danych dotyczy między innymi takich pojęć, jak: czyszczenie danych, walidacja danych, testy jakości danych, strojenie danych i filtrowanie danych.
Zapewnienie jakości danych jest kluczowym obszarem, który powinien być utrzymany w środowisku hurtowni, aby system był wiarygodny dla użytkowników biznesowych.
Właściwe zdefiniowanie kryteriów jakości danych powinno zapewnić, że dane będą odpowiednio mierzone, analizowane i poprawiane w trybie ciągłym.

Zarządzanie jakością danych w organizacji wymaga wielkiego zaangażowania za strony biznesu i bardzo często również interwencji ręcznych w miejscach gdzie zautomatyzowanie jest niemożliwe.
Proces ETL odgrywa główną rolę w procesie czyszczenia i zarządzania jakością danych.

Scenariusz biznesowy

Hurtownia danych jest zasilana w trybie dziennym ekstraktem, który pochodzi ze źródłowego systemu OLTP. Jednakże jakość danych ekstraktu jest dosyć niska, gdyż dane źródłowe nie używają słowników. Problemy w jakości danych biznesowych są wychwytywane za pomocą dwóch typów testów jakości: testów znakowych i testów referencyjnych.

Testy znakowe sprawdzają dane pod kątem wzorców literowych, niedozwolonych znaków, niepoprawnej wielkości liter, przyjętych standardów dotyczących kropek, przecinków, myślników, itp.

Testy referencyjne sprawdzają spójność danych z przyjętą architekturą I modelem danych. Przykładowo, z ekstraktu faktur powinien zostać wyłowiony klient, który nie istnieje w tabeli wymiaru klientów. A także linie faktury, dla których brakuje odpowiadającego nagłówka.

Ponadto, oba typy testów używają dwustopniowej skali istotności: błąd lub ostrzeżenie.
W przypadku wykrycia błędu cały rekord jest logowany i nie przechodzi transformacji danych do tabeli wynikowej. Ostrzeżenia są również raportowane, ale pomimo to ładowane do hurtowni danych.

Przykładowe problemy jakości danych:

  • Data realizacji zamówienia wcześniejsza od daty wprowadzania zamówienia
  • Niepoprawny numer faktury, np. zawierający niedozwolone znaki lub niepoprawną ilość znaków
  • Zły adres, np. kombinacja kod pocztowy i nazwa ulicy niezgodny ze słownikiem adresowym
  • Numer telefonu niezgodny ze wzorcem – gdy przykładowo zawiera spacje lub myślniki a w hurtowni danych zdefiniowano go jako tylko liczby

    Przykładowe rozwiązanie

    Jednym ze sposobów podejścia do problemu jest skierowanie rekordów z niezwalidowanymi danymi do pliku z błędami jakości danych i przekazanie tego pliku do analizy.
    W praktyce, implementacja tego typu procesu ETL będzie stosunkowo nieskomplikowana od strony technicznej i zawierać będzie następujące kroki:

  • Czytanie danych wejściowych
  • Walidacja
  • Dwa przepływy danych wyjściowych: rekordy zwalidowane i błędne dane

    Reguły transformacyjnę w poniższym przykładzie są odpowiedzialne za następujące obszary:
  • Porównanie dat realizacji i złożenia zamówienia. Sprawdzenie czy data realizacji zamówienia jest wcześniejsza od daty wprowadzania zamówienia. Jeżeli tak, to odrzucić rekord.
  • Sprawdzenie ID zamówienia. Numery zamówień powinny być liczbami, w przeciwnym wypadku rekord zostaje odrzucony.
  • Walidacja adresu - kombinacja kod pocztowy i nazwa ulicy sprawdzony ze słownikiem adresowym w hurtowni danych. Jeżeli się nie zgadza, to rekord jest załadowany do hurtowni, jednak otrzymuje znacznik ‘ostrzeżenie’.
  • Sprawdzenie formatu numeru telefonu klienta. Numery są przechowywane w formacie: +kierunkowy numer. Przykładowo, ten numer jest poprawny: +34 112223333
    Następujące zapisy tego numeru będą niezgodne ze wzorcem: (0034) 112223333, 11 2223333, +34 11-22-3333


    Przykład implementacji procesu ETL dla testów jakości danych w Pentaho Data Integration:
    Przykład implementacji procesu ETL dla testów jakości danych w Pentaho Data Integration




    Powrót do menu Scenariuszy ETL