Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit les différences entre la programmation procédurale et déclarative et leur utilisation dans Databricks.
La programmation procédurale et déclarative est deux paradigmes de programmation fondamentaux dans la science informatique. Chacun représente une approche différente de la structuration et de l’exécution d’instructions.
- Avec la programmation procédurale, vous spécifiez la façon dont les tâches doivent être effectuées en définissant des séquences explicites d’opérations.
- La programmation déclarative se concentre sur ce qui doit être réalisé, laissant le système sous-jacent pour déterminer la meilleure façon d’exécuter la tâche.
Lors de la conception de pipelines de données, les ingénieurs doivent choisir entre les modèles de traitement des données procéduraux et déclaratifs. Cette décision a un impact sur la complexité du flux de travail, la facilité de maintenance et l’efficacité. Cette page explique les principales différences, avantages et défis de ces modèles, et quand utiliser chaque approche.
Qu’est-ce que le traitement des données procédurales ?
Le traitement des données procédurales suit une approche structurée dans laquelle des étapes explicites sont définies pour manipuler des données. Ce modèle est étroitement aligné sur la programmation impérative, mettant l’accent sur une séquence de commandes qui détermine la façon dont les données doivent être traitées.
Caractéristiques du traitement procédural
Voici les caractéristiques du traitement procédural :
- Exécution pas à pas : le développeur définit explicitement l’ordre des opérations.
- Utilisation de structures de contrôle : boucles, conditions et fonctions gèrent le flux d’exécution.
- Contrôle détaillé des ressources : active les optimisations affinées et le réglage manuel des performances.
- Concepts connexes : la programmation procédurale est une sous-classe de programmation impérative.
Cas d’usage courants pour le traitement procédural
Voici les cas d’usage quotidiens pour le traitement procédural :
- Pipelines ETL personnalisés nécessitant une logique procédurale.
- Optimisations des performances de bas niveau dans les flux de travail de traitement par lots et de streaming.
- Systèmes hérités ou scripts impératifs existants.
Traitement procédural avec Apache Spark et les tâches Lakeflow
Apache Spark suit principalement un modèle procédural pour le traitement des données. Utilisez les travaux Lakeflow pour ajouter une logique d’exécution explicite pour définir des transformations et des actions pas à pas sur des données distribuées.
Qu’est-ce que le traitement déclaratif des données ?
Le traitement déclaratif des données extrait la façon et se concentre sur la définition du résultat souhaité. Au lieu de spécifier des instructions pas à pas, les développeurs définissent la logique de transformation et le système détermine le plan d’exécution le plus efficace.
Caractéristiques du traitement déclaratif
Voici les caractéristiques du traitement déclaratif :
- Abstraction des détails de l’exécution : les utilisateurs décrivent le résultat souhaité, et non les étapes à suivre.
- Optimisation automatique : le système applique le réglage de la planification et de l’exécution des requêtes.
- Complexité réduite : supprime la nécessité de structures de contrôle explicites, ce qui améliore la facilité de maintenance.
- Concepts connexes : la programmation déclarative comprend des paradigmes de programmation spécifiques au domaine et fonctionnels.
Cas d’usage courants pour le traitement déclaratif
Voici les cas d’usage courants pour le traitement déclaratif :
- Transformations sql dans les flux de travail de traitement par lots et de streaming.
- Infrastructures de traitement des données de haut niveau, telles que les pipelines.
- Charges de travail de données évolutives et distribuées nécessitant des optimisations automatisées.
Traitement déclaratif avec des pipelines
Lakeflow Spark Declarative Pipelines est un framework déclaratif conçu pour simplifier la création de pipelines de traitement de flux fiables et pouvant être gérés. En spécifiant les données à ingérer et comment les transformer, les pipelines automatisent les aspects clés de la gestion du traitement, notamment l’orchestration, la gestion du calcul, la surveillance, l’application de la qualité des données et la gestion des erreurs.
Principales différences : traitement procédural et déclaratif
| Aspect | Traitement procédural | Traitement déclaratif |
|---|---|---|
| Contrôle | Contrôle total de l’exécution | Exécution gérée par le système |
| Complexité | Peut être complexe et détaillé | Généralement plus simple et plus concis |
| Optimisation | Nécessite un réglage manuel | Le système gère l’optimisation |
| Flexibilité | Élevé, mais nécessite une expertise | Plus faible, mais plus facile à utiliser |
| Cas d’usage | Pipelines personnalisés, réglage des performances | Requêtes SQL, pipelines gérés |
Quand choisir un traitement procédural ou déclaratif
Le tableau suivant présente certains des points de décision clés pour le traitement procédural et déclaratif :
| Traitement procédural | Traitement déclaratif |
|---|---|
| Un contrôle précis sur la logique d’exécution est nécessaire. | Le développement et la maintenance simplifiés sont des priorités. |
| Les transformations impliquent des règles métier complexes difficiles à exprimer de manière déclarative. | Les transformations basées sur SQL ou les flux de travail managés éliminent la nécessité d’un contrôle procédural. |
| Les optimisations des performances nécessitent un réglage manuel. | Les infrastructures de traitement des données telles que les pipelines fournissent des optimisations intégrées. |