Freigeben über


Verfahren im Vergleich zur deklarativen Datenverarbeitung in Azure Databricks

In diesem Artikel werden die Unterschiede zwischen verfahrener und deklarativer Programmierung und deren Verwendung in Databricks behandelt.

Die prozedurale und deklarative Programmierung sind zwei grundlegende Programmierparadigma in der Informatik. Jeder stellt einen anderen Ansatz zum Strukturieren und Ausführen von Anweisungen dar.

  • Mit der verfahrenstechnischen Programmierung geben Sie an, wie Aufgaben durch definieren explizite Abfolgen von Vorgängen erreicht werden sollen.
  • Die deklarative Programmierung konzentriert sich auf das, was erreicht werden muss, wobei das zugrunde liegende System die beste Methode zur Ausführung der Aufgabe bestimmt.

Beim Entwerfen von Datenpipelines müssen Ingenieure zwischen prozeduralen und deklarativen Datenverarbeitungsmodellen wählen. Diese Entscheidung wirkt sich auf die Komplexität, Wartung und Effizienz des Workflows aus. Auf dieser Seite werden die wichtigsten Unterschiede, Vorteile und Herausforderungen dieser Modelle sowie die Verwendung der einzelnen Ansätze erläutert.

Was ist die verarbeitungstechnische Datenverarbeitung?

Die verfahrene Datenverarbeitung folgt einem strukturierten Ansatz, bei dem explizite Schritte zum Bearbeiten von Daten definiert sind. Dieses Modell ist eng mit der imperativen Programmierung abgestimmt, wobei eine Befehlssequenz hervorgehoben wird, die bestimmt, wie die Daten verarbeitet werden sollen.

Merkmale der verfahrenstechnischen Verarbeitung

Im Folgenden sind Merkmale der verfahrenstechnischen Verarbeitung aufgeführt:

  • Schrittweise Ausführung: Der Entwickler definiert explizit die Reihenfolge der Vorgänge.
  • Verwendung von Steuerungsstrukturen: Schleifen, Bedingte und Funktionen verwalten den Ausführungsfluss.
  • Detaillierte Ressourcenkontrolle: Ermöglicht fein abgestimmte Optimierungen und manuelle Leistungsoptimierungen.
  • Verwandte Konzepte: Die prozedurale Programmierung ist eine Unterklasse der imperativen Programmierung.

Häufige Anwendungsfälle für die verfahrene Verarbeitung

Im Folgenden sind alltägliche Anwendungsfälle für die verfahrenstechnische Verarbeitung aufgeführt:

  • Benutzerdefinierte ETL-Pipelines, die Prozedurlogik erfordern.
  • Leistungsoptimierungen auf niedriger Ebene in Batch- und Streamingworkflows.
  • Ältere Systeme oder vorhandene imperative Skripts.

Verfahrensverarbeitung mit Apache Spark und Lakeflow Jobs

Apache Spark folgt in erster Linie einem Verfahrensmodell für die Datenverarbeitung. Verwenden Sie Lakeflow-Aufträge, um explizite Ausführungslogik hinzuzufügen, um schrittweise Transformationen und Aktionen für verteilte Daten zu definieren.

Was ist deklarative Datenverarbeitung?

Deklarative Datenverarbeitung abstrahiert die Vorgehensweise und konzentriert sich auf die Definition des gewünschten Ergebnisses. Anstatt Schritt-für-Schritt-Anweisungen anzugeben, definieren Entwickler Transformationslogik, und das System bestimmt den effizientesten Ausführungsplan.

Merkmale der deklarativen Verarbeitung

Im Folgenden sind Merkmale der deklarativen Verarbeitung aufgeführt:

  • Abstraktion der Ausführungsdetails: Benutzer beschreiben das gewünschte Ergebnis, nicht die Schritte, um sie zu erreichen.
  • Automatische Optimierung: Das System wendet die Abfrageplanung und Ausführungsoptimierung an.
  • Reduzierte Komplexität: Entfernt die Notwendigkeit expliziter Kontrollstrukturen und verbessert die Verhaltbarkeit.
  • Verwandte Konzepte: Die deklarative Programmierung umfasst domänenspezifische und funktionale Programmierparadigma.

Häufige Anwendungsfälle für die deklarative Verarbeitung

Im Folgenden finden Sie häufige Anwendungsfälle für die deklarative Verarbeitung:

  • SQL-basierte Transformationen in Batch- und Streamingworkflows.
  • Hochwertige Datenverarbeitungsrahmenwerke wie Pipelines.
  • Skalierbare, verteilte Datenworkloads, die automatisierte Optimierungen erfordern.

Deklarative Verarbeitung mit Pipelines

Lakeflow Spark Declarative Pipelines ist ein deklaratives Framework, das die Erstellung zuverlässiger und wartungsfähiger Datenstromverarbeitungspipelines vereinfacht. Indem Sie angeben, welche Daten erfasst werden sollen und wie sie transformiert werden sollen, automatisieren Pipelines wichtige Aspekte der Verarbeitungsverwaltung, einschließlich Orchestrierung, Computeverwaltung, Überwachung, Durchsetzung von Datenqualität und Fehlerbehandlung.

Wichtige Unterschiede: verfahrene und deklarative Verarbeitung

Aspekt Verfahrenstechnische Verarbeitung Deklarative Verarbeitung
Steuerung Vollzugriff auf die Ausführung Vom System durchgeführte Ausführung
Kompliziertheit Kann komplex und ausführlich sein Im Allgemeinen einfacher und präziser
Optimierung Erfordert manuelle Einstellung Das System übernimmt die Optimierung
Flexibilität Hoch, erfordert aber Fachwissen Niedriger, aber einfacher zu verwenden
Anwendungsfälle Benutzerdefinierte Pipelines, Leistungsoptimierung SQL-Abfragen, verwaltete Pipelines

Gründe für die Auswahl von verfahrener oder deklarativer Verarbeitung

In der folgenden Tabelle sind einige der wichtigsten Entscheidungspunkte für die verfahrende und deklarative Verarbeitung aufgeführt:

Verfahrenstechnische Verarbeitung Deklarative Verarbeitung
Eine differenzierte Kontrolle über die Ausführungslogik ist erforderlich. Vereinfachte Entwicklung und Wartung sind Prioritäten.
Transformationen umfassen komplexe Geschäftsregeln, die schwer deklarativ ausgedrückt werden können. SQL-basierte Transformationen oder verwaltete Workflows vermeiden die Notwendigkeit der prozeduralen Kontrolle.
Leistungsoptimierungen erfordern manuelle Optimierungen. Datenverarbeitungsframeworks wie Pipelines bieten integrierte Optimierungen.