Co to jest przekształcanie danych w usłudze Azure Databricks?
Przekształcanie danych to proces konwertowania, czyszczenia i tworzenia struktur danych w format do użytku. Transformacja danych zwykle przebiega zgodnie z architekturą medalionu Databricks stopniowego udoskonalania danych z danych pierwotnych do formatu, który jest wykorzystywany przez biznes.
Na poniższym diagramie przedstawiono potok danych zawierający serię przekształceń danych, które przekształcają zestaw danych raw_customers
w zestaw danych clean_customers
, upuszczając dane klienta bez nazwy klienta w tym przykładzie. Dane raw_transactions
są przekształcane w clean_transactions
, upuszczając transakcje z wartością zero dolarów. Wynikowy zestaw danych o nazwie sales_report
to łączenie clean_customers
i clean_transactions
. Analitycy mogą używać sales_report
do analizy i analizy biznesowej.
przykład przekształcania danych
Typy przekształceń danych
Usługa Databricks uwzględnia dwa typy przekształceń danych: deklaratywne i proceduralne. Potok danych w poprzednim przykładzie można wyrazić przy użyciu obu paradygmatów.
Przekształcenia deklaratywne koncentrują się na żądanym wyniku, a nie na sposobie jego osiągnięcia. Należy określić logikę transformacji przy użyciu abstrakcji wyższego poziomu, a biblioteka DLT określa najbardziej wydajny sposób jego wykonania.
Przekształcenia danych proceduralnych koncentrują się na wykonywaniu obliczeń za pomocą jawnych instrukcji. Te obliczenia definiują dokładną sekwencję operacji w celu manipulowania danymi. Podejście proceduralne zapewnia większą kontrolę nad wykonywaniem, ale kosztem większej złożoności i wyższej konserwacji.
Wybieranie między deklaratywną i proceduralną transformacją danych
Deklaratywne przekształcanie danych przy użyciu biblioteki DLT jest najlepsze, gdy:
- Wymagane jest szybkie opracowywanie i wdrażanie.
- Potoki danych mają standardowe wzorce, które nie wymagają kontroli na niskim poziomie wykonania.
- Potrzebujesz wbudowanych kontroli jakości danych.
- Konserwacja i czytelność to najważniejsze priorytety.
Przekształcanie danych proceduralnych przy użyciu kodu platformy Apache Spark jest najlepsze, gdy:
- Migrujesz istniejącą bazę kodu platformy Apache Spark do usługi Databricks.
- Potrzebujesz precyzyjnej kontroli nad wykonywaniem.
- Potrzebujesz dostępu do interfejsów API niskiego poziomu, takich jak
MERGE
lubforeachBatch
. - Musisz zapisywać dane na platformie Kafka lub w zewnętrznych tabelach Delta.