Was ist die Datentransformation in Azure Databricks?
Die Datentransformation ist der Prozess der Konvertierung, Bereinigung und Strukturierung von Daten in ein verwendbares Format. Die Datentransformation folgt in der Regel der Databricks-Medallion-Architektur der inkrementellen Einschränkung von Daten aus rohen Daten in ein Format, das vom Unternehmen verwendet wird.
Das folgende Diagramm zeigt eine Datenpipeline mit einer Reihe von Datentransformationen, die das raw_customers
Dataset in das clean_customers
Dataset umwandeln, indem Kundendaten ohne Kundennamen in diesem Beispiel gelöscht werden. Die raw_transactions
Daten werden in clean_transactions
umgewandelt, indem Transaktionen mit einem Null-Dollar-Wert gelöscht werden. Ein resultierendes Dataset namens sales_report
ist die Verknüpfung der clean_customers
und clean_transactions
. Analysten können sales_report
für Analysen und Business Intelligence verwenden.
Arten von Datentransformationen
Databricks berücksichtigt zwei Arten von Datentransformationen: deklarative und verfahrenstechnische. Die Datenpipeline im vorherigen Beispiel kann mit beiden Paradigmen ausgedrückt werden.
Deklarative Transformationen konzentrieren sich auf das gewünschte Ergebnis, anstatt darauf, wie man es erreicht. Sie geben die Logik der Transformation mithilfe von Abstraktionen höherer Ebene an, und DLT bestimmt die effizienteste Methode zum Ausführen der Transformation.
Prozessuale Datentransformationen konzentrieren sich auf die Ausführung von Berechnungen durch explizite Anweisungen. Diese Berechnungen definieren die genaue Abfolge von Vorgängen zum Bearbeiten der Daten. Der Verfahrensansatz bietet mehr Kontrolle über die Ausführung, aber zu kosten größerer Komplexität und höherer Wartung.
Auswahl zwischen deklarativer und prozeduraler Datentransformation
Deklarative Datentransformation mit DLT ist am besten geeignet, wenn:
- Sie benötigen eine schnelle Entwicklung und Bereitstellung.
- Ihre Datenpipelinen verfügen über Standardmuster, die keine Kontrolle über die Ausführung auf niedriger Ebene erfordern.
- Sie benötigen integrierte Datenqualitätsprüfungen.
- Wartung und Lesbarkeit sind oberste Prioritäten.
Die verfahrene Datentransformation mit Apache Spark-Code eignet sich am besten in folgenden Fällen:
- Sie migrieren eine vorhandene Apache Spark-Codebasis zu Databricks.
- Sie benötigen eine differenzierte Kontrolle über die Ausführung.
- Sie benötigen Zugriff auf APIs auf niedriger Ebene, z. B.
MERGE
oderforeachBatch
. - Sie müssen Daten in Kafka- oder externe Delta-Tabellen schreiben.