• Przejdź do treści
  • Przejdź to drugiego menu
  • Przejdź do głównego paska bocznego
  • Przejdź do stopki
  • START
  • BLOG
  • NEWSLETTER
  • KIM JESTEM
  • KONTAKT
Cegładanych

Cegładanych

Dane - Databricks i Chmura Azura

  • Azure
  • Databricks
  • Spark
  • Etl
  • Engineering
  • AI

Jakość danych w Databricks DQX

28.01.2025 Krzysztof Nojman

Databricks DQX

Jak sprawdzić jakość danych w Databricks i to zautomatyzować.

Nie martw się jest nowe narzędzie od Databricks i bardzo Ci pomoże w kontroli jakości.

Bardzo ważny temat wchodzący w skład testowania. Samo testowanie to bardziej skomplikowany aspekt inżynierii, ale jakość danych to kawałek łatwy to ugryzienia. Na szczęście nowe narzędzie od Databricks wydaje się być proste i łatwe w użyciu. Jeszcze nie miałem okazji przetestować go produkcyjnie, ale zamierzam to zrobić najszybciej jak się da.

https://github.com/databrickslabs/dqx/tree/main

Jest to prosty framework walidacji danych w Dataframe. Umożliwia on walidację jakości w czasie rzeczywistym podczas przetwarzania danych.

Powie Ci w których wierszach i konkretnych kolumnach jest problem

Nieprawidłowe dane można poddać kwarantannie.

Wprowadź walidację danych najwcześniej jak się da w procesie zasilania. Podstawowa zasada głosi nie wpuszczaj złych danych na produkcję, im wcześniej wyłapiesz błędy tym lepiej dla całego procesu.

Co potrafi Databricks DQX

  • Informacja o powodzie niepowodzenia kontroli.
  • Niezależny od formatu danych (działa na Spark DataFrames).
  • Obsługa Spark Batch i Streaming, w tym DLT (Delta Live Tables).
  • Różne reakcje na nieudane sprawdzenia, np. usunięcie, tagowanie lub poddanie kwarantannie nieprawidłowych danych.
  • Obsługa poziomów kontroli: ostrzeżenie (zaznacz) lub błędy (zaznacz i nie propaguj wierszy).
  • Obsługa reguł jakości na poziomie wierszy i kolumn.
  • Profilowanie i generowanie kandydatów do reguł jakości danych.
  • Sprawdza definicję jako kod lub konfigurację.
  • Podsumowanie walidacji i panel jakości danych umożliwiający identyfikację i śledzenie problemów z jakością danych.

Instalacja

Instalacja może się odbyć przy użyciu pip, chociaż ta metoda jest bardziej do testów na devie. Produkcyjnie jest dostępna biblioteka do zainstalowanie przez Databricks CLI. Tak porządnie zainstalowana będzie służyła długo i szczęśliwie.

W pierwszej fazie importujesz wymagane biblioteki:

from databricks.labs.dqx.profiler.profiler import DQProfiler
from databricks.labs.dqx.profiler.generator import DQGenerator
from databricks.labs.dqx.profiler.dlt_generator import DQDltGenerator
from databricks.sdk import WorkspaceClient

W drugiej fazie możesz użyć automatycznego profilowanie danych, profiler policzy najważniejsze statystyki o danych. Wystarczy że podasz mu Dataframe jako parametr a on zrobi resztę.

input_df = spark.read.format("csv").option("header","True").load("dbfs:/databricks-datasets/online_retail/data-001/data.csv")

ws = WorkspaceClient()
profiler = DQProfiler(ws)
summary_stats, profiles = profiler.profile(input_df)
display(summary_stats)
DBX profiler

Profil jest dostępny jako dataframe. Zauważ na przykładzie poniżej dodał opis do kolumny Description – podaje procentowy ilość nulli

DBX Profiler

Generowanie konfiguracji yml

Narzędzie jest bardzo pomocne i na podstawie profilu danych wygeneruje plik konfiguracyjny.

generator = DQGenerator(ws)
checks = generator.generate_dq_rules(profiles) 
print(yaml.safe_dump(checks))
DBX Generowanie konfiguracji

Szczegóły i przykłady zajdziesz w repo.

Jeśli dane nie spełniają wymagań możesz je wrzucić do dataframe jako kwarantanna i zadecydować co z nimi zrobić.

DBQ Kwarantanna

Ważna uwaga!!!

Jest to nowe narzędzie pracę nad nim rozpoczęto w Kwietniu 2024, a pierwszy realese 0.1.0 w Styczniu 2025, więc jest to jeszcze nie sprawdzone w bojach i świeżutkie. Miej to na uwadze zanim wykorzystasz gdzie się da. Ja bym rozpoczął od najmniej krytycznych elementów i jeśli okaże się stabilne wprowadzał stopniowo.

Daj znać jak działa u Ciebie.

W kategorii:Databricks Tagi:Databricks, DQX

Big Data ebook
Subskrybuj
Powiadom o
guest

guest

0 Komentarze
Najstarsze
Najnowsze Najwięcej głosów
Opinie w linii
Zobacz wszystkie komentarze

Pierwszy panel boczny

O MNIE

Narzędzia i dobre procesy do przetwarzania danych to podstawa sukcesu i wartości dla firmy. Czytaj więcej…

big data ebook

Ostatnie wpisy

spark joins

Jak Spark robi join?

13.01.2025 By Krzysztof Nojman

Czy JSON to samo zło

04.01.2025 By Krzysztof Nojman

VS Code nowości AI 

09.12.2024 By Krzysztof Nojman

Linki społecznościowe

  • Facebook
  • GitHub
  • LinkedIn
  • YouTube

Wyszukiwanie

Footer

Najnowsze wpisy

  • Jakość danych w Databricks DQX
  • Jak Spark robi join?
  • Czy JSON to samo zło
  • VS Code nowości AI 
  • Lista narzędzi AI dla każdego inżyniera, które warto znać
  • Kilka pomysłów na konfigurację Databricks
  • Co pamięta wykonawca (executor🧠)

Tagi

AI Apache Spark Architektura Azure BIg Data Certyfikat cloud Databricks Data Factory Dataframe DQX ETL Hurtownia Danych Intellij IoT Jaka technologia Join Kod Konfiguracja lakehouse Narzędzia Optymalizacja pyspark Spark Windows 10 zadania

Informacje Prawne

To jest nudna część lecz wymagana, wszystkie notki prawne o stronie znajdziecie tutaj.

Polityka Prywatności

Regulamin

Copyright © 2025 · Wszelkie prawa zastrzeżone. Krzysztof Nojman

wpDiscuz