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.
Les données arrivent dans des comptes data lake dans différents formats. Ces formats incluent des formats lisibles par l’homme, tels que JSON. Fichiers CSV ou XML et formats binaires compressés, tels que .tar ou .gz. L’arrivée de données est également disponible dans de nombreuses tailles, de quelques fichiers modifiés à une exportation d’une table SQL entière. Les données peuvent également provenir d’un grand nombre de petits fichiers qui sont quelques ko, tels que des événements en temps réel d’une solution IoT.
Bien qu’Azure Data Lake Storage Gen2 prend en charge le stockage pour tous les types de données sans restrictions, vous devez soigneusement prendre en compte vos formats de données pour garantir l’efficacité du pipeline de traitement et optimiser les coûts.
De nombreuses organisations normalisent désormais leur format d’ingestion et séparent le calcul du stockage. En raison de cela, le format Delta Lake est devenu la norme préférée pour l’ingestion des données jusqu’à la couche d’enrichissement. À partir de la couche d’enrichissement, votre équipe d’application de données peut servir des données dans un format qui reflète leur cas d’usage.
Remarque
Utilisez Delta Lake pour prendre en charge les cas d’usage de traitement par lots et de diffusion en continu pour l’ingestion initiale des données jusqu’à la couche d’enrichissement.
Cet article fournit une vue d’ensemble de Delta Lake, de ses performances et de la façon dont il vous aide à assurer la prise en charge de la conformité et comment normaliser vos données à mesure qu’elles passent de la source à la couche d’enrichissement.
Delta Lake
Delta Lake est une couche de stockage open-source qui apporte des transactions ACID (atomicité, cohérence, isolation et durabilité) aux charges de travail de big data et à Apache Spark. Azure Databricks est compatible avec Linux Foundation Delta Lake.
Fonctionnalités clés de Delta Lake
| Caractéristique | Descriptif |
|---|---|
| Transactions ACID | Les lacs de données sont généralement remplis via plusieurs processus et pipelines, dont certains écrivent des données simultanément avec des lectures. Les ingénieurs en données devaient passer par un processus manuel et sujet aux erreurs pour garantir l’intégrité des données avant que Delta Lake et les transactions ne soient utilisées. Delta Lake apporte des transactions ACID familières aux lacs de données. Il fournit le niveau d’isolation le plus fort, la sérialisabilité. Pour plus d’informations, consultez Plongée dans Delta Lake : décompresser le journal des transactions. |
| Gestion des métadonnées évolutive | Dans le Big Data, même les métadonnées peuvent être « Big Data ». Delta Lake traite les métadonnées de la même façon que d’autres données. Elle utilise la puissance de traitement distribuée de Spark pour gérer toutes les métadonnées. En raison de cela, Delta Lake peut facilement gérer des tables à l’échelle pétaabyte avec des milliards de partitions et de fichiers. |
| Temps de voyage (contrôle de version des données) | La possibilité d’annuler une modification ou de revenir à une version précédente est une fonctionnalité clé des transactions. Delta Lake fournit des captures instantanées de données vous permettant de revenir à des versions antérieures de données à des fins d’audit, de restauration ou de reproduction d’expériences. Pour plus d’informations, consultez Présentation d’un voyage dans le temps Delta Lake pour les lacs de données à grande échelle. |
| Format ouvert | Apache Parquet, le format de base pour Delta Lake, vous permet d’appliquer des schémas de compression et d’encodage efficaces. |
| Source et récepteur de lot unifié et de diffusion en continu | Une table dans Delta Lake est à la fois une table de lot et une source et un récepteur de diffusion. Une diffusion d’ingestion de données en continu, le renvoi d’historique par lot et les requêtes interactives fonctionnent sans nécessiter de configuration. |
| Application du schéma | L’application du schéma vous permet de vous assurer que vous disposez de types de données corrects et de colonnes requises, ce qui prévient l’incohérence des données dues aux données incorrectes. Pour plus d’informations, consultez Plongée dans Delta Lake :application et évolution du schéma |
| Évolution du schéma | Delta Lake vous permet d’appliquer automatiquement des modifications à un schéma de table, sans avoir à écrire DDL de migration. Pour plus d’informations, consultez Plongée dans Delta Lake :application et évolution du schéma |
| Historique d’audit | Le journal des transactions Delta Lake enregistre les détails de chaque modification apportée à vos données. Ces enregistrements fournissent une piste d’audit complète de toutes les modifications. |
| Mises à jour et suppressions | Delta Lake prend en charge les API Scala, Java, Python et SQL pour différentes fonctionnalités. La prise en charge des opérations de fusion, de mise à jour et de suppression vous permet de répondre aux exigences de conformité. Pour plus d’informations, consultez Annonce de la version Delta Lake 0.6.1, annonce de la version Delta Lake 0.7 et Simple, Reliable Upserts et Deletes sur Delta Lake Tables à l’aide d’API Python (qui inclut des extraits de code pour les commandes de fusion, de mise à jour et de suppression de DML). |
| 100% compatible avec l’API Apache Spark | Vos développeurs peuvent utiliser Delta Lake avec une modification minimale de leurs pipelines de données existants, car ils sont entièrement compatibles avec les implémentations Spark existantes. |
Pour plus d’informations, consultez Projet Delta Lake.
Pour obtenir une documentation complète, consultez la page de documentation Delta Lake
Performances
L’utilisation de nombreux petits fichiers entraîne souvent des performances non optimales et des coûts plus élevés à partir d’opérations de lecture/liste accrues. Azure Data Lake Storage Gen2 est optimisé pour les fichiers plus volumineux qui permettent à vos travaux d’analyse de s’exécuter plus rapidement et à moindre coût.
Delta Lake inclut de nombreuses fonctionnalités qui peuvent vous aider à optimiser les performances avec la gestion des fichiers.
Voici quelques exemples :
- Le journal des transactions réduit les opérations LIST coûteuses.
- L’ordre Z (clustering multidimensionnel) active le pushdown de prédicat optimisé pour vos filtres de requête.
- La mise en cache native et les optimisations des requêtes réduisent la quantité d’analyse du stockage dont vous avez besoin. Pour plus d’informations, consultez Optimiser les performances avec la mise en cache.
- OPTIMIZE fusionne les petits fichiers en fichiers plus volumineux.
Faites en sorte que ces optimisations fassent partie de votre processus de chargement des données pour maintenir la fraîcheur et les performances des données.
Partitionnement du lac de données (data lake)
Le partitionnement des données implique l’organisation des données dans votre magasin de données afin de pouvoir gérer les données à grande échelle et contrôler l’accès aux données. Le partitionnement peut améliorer l’extensibilité, réduire la contention et optimiser les performances.
Lors du partitionnement de votre lac de données, vérifiez votre configuration :
- Ne compromet pas la sécurité
- A une isolation claire et s’aligne sur votre modèle d’autorisation de données
- Convient bien à votre processus d’ingestion de données
- A un chemin bien défini pour un accès optimal aux données
- Prend en charge les tâches de gestion et de maintenance
Pratiques générales
Les pratiques générales pour la conception du partitionnement des données sont les suivantes :
- Concentrez-vous sur votre implication en matière de sécurité au début et concevez vos partitions de données avec l’autorisation.
- Vous souhaiterez peut-être autoriser la redondance des données en échange de la sécurité. Définissez une convention d’affectation de noms et respectez-la.
- Vous pouvez imbriquer plusieurs dossiers, mais toujours les maintenir cohérents.
- Incluez un élément de temps dans vos structures de dossiers et noms de fichiers.
- Ne commencez pas votre structure de dossiers avec des partitions basées sur la date. Il est préférable de conserver des dates au niveau inférieur du dossier.
- Ne combinez pas de formats de fichiers mixtes ou de produits de données différents dans une seule structure de dossiers.
Conseil / Astuce
Vos structures de dossiers doivent avoir des stratégies de partitionnement qui peuvent optimiser les modèles d’accès et les tailles de fichiers appropriées. Dans les zones organisées, planifiez la structure en fonction d’une récupération optimale, soyez prudent de choisir une clé de partition avec une cardinalité élevée, ce qui conduit au sur partitionnement, ce qui entraîne à son tour des tailles de fichiers non optimales.
Pour plus d’informations sur les zones de lac de données, consultez Zones de Lac de Données et Conteneurs
Prise en charge de la conformité
Delta Lake ajoute une couche transactionnelle pour fournir une gestion structurée des données au-dessus de votre lac de données. Cet ajout peut simplifier et accélérer considérablement votre capacité à localiser et à supprimer des informations personnelles (également appelées « données personnelles ») à la demande du consommateur. La couche transactionnelle prend en charge les opérations telles que DELETE, UPDATE et MERGE. Pour plus d’informations, consultez Les meilleures pratiques : conformité RGPD à l’aide de Delta Lake.
Résumé
Appliquez les normalisations des données répertoriées dans cet article à votre plateforme. Commencez par le format Delta Lake, puis commencez à ajouter des processus pour l’optimisation et la conformité. Vous pouvez décider de créer un service qui exécute certaines de vos routes d’optimisation selon une planification ou de créer un service de conformité qui supprime les informations personnelles.