Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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. |