Pipelines d’ingestion, ETL et de traitement de flux avec Azure Databricks et Delta Lake

Azure Databricks
Azure Data Lake Storage
Azure IoT Hub
Azure Data Factory
Hubs d'événements Azure

Idées de solution

Cet article présente une idée de solution. Si vous souhaitez que nous développions le contenu avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, adressez-nous vos commentaires GitHub.

Votre organisation doit ingérer des données de divers format, taille et vitesse dans le cloud de manière cohérente. La solution proposée dans cet article répond à ce besoin avec une architecture qui implémente l’extraction, la transformation et le chargement (ETL) à partir de vos sources de données vers un lac de données. Le lac de données peut contenir toutes les données, y compris les versions transformées et organisées à différentes échelles. Les données peuvent être utilisées pour l’analytique données, le décisionnel, la création de rapports, la science des données et le machine learning.

Apache® et Apache Spark™ sont soit des marques déposées, soit des marques commerciales d’Apache Software Foundation aux États-Unis et/ou dans d’autres pays. L’utilisation de ces marques n’implique aucune approbation de l’Apache Software Foundation.

Architecture

Diagram that shows the architecture and data flow for ETL and stream processing with Azure Databricks.

Téléchargez un fichier Visio de cette architecture.

Dataflow

  1. Les données sont ingérées des manières suivantes :

    • Les files d’attente d’événements comme Event Hubs, IoT Hub ou Kafka envoient des données en streaming à Azure Databricks, qui les lit avec le moteur Delta optimisé.
    • Les pipelines Data Factory planifiés ou déclenchés copient les données de différentes sources de données dans des formats bruts. Le chargeur automatique d’Azure Databricks traite les données à mesure qu’elles arrivent.
  2. Azure Databricks charge les données dans des tables ou dossiers Delta Lake optimisés et compressés de la couche Bronze dans Data Lake Storage.

  3. Les travaux Azure Databricks de streaming, planifiés ou déclenchés lisent les nouvelles transactions à partir de la couche Bronze de Data Lake Storage. Les travaux joignent, nettoient, transforment et agrègent les données avant d’utiliser des transactions ACID pour les charger dans des jeux de données organisés dans les couches Argent et Or de Data Lake Storage.

  4. Les jeux de données sont stockés dans Delta Lake dans Data Lake Storage.

Chaque service ingère les données dans un format commun pour garantir la cohérence. L’architecture utilise un lac de données partagé basé sur le format Delta Lake ouvert. Les données brutes sont ingérées à partir de différentes sources de données en streaming et par lots pour former une plateforme de données unifiée. La plateforme peut être utilisée pour des cas d’usage en aval tels que l’analytique, la création de rapports décisionnels, la science des données, l’intelligence artificielle et le Machine Learning.

Couches de stockage Bronze, Silver et Gold

Avec le modèle de médailles, composé des couches de stockage Bronze, Argent et Or, les clients disposent d’un accès flexible et d’un traitement de données extensible.

  • Les tables Bronze fournissent le point d’entrée pour les données brutes quand elles atteignent Data Lake Storage. Les données sont converties de leur format source brut au format Delta Lake ouvert et transactionnel en vue de leur traitement. La solution ingère les données dans la couche Bronze à l’aide des éléments suivants :
    • API Apache Spark dans Azure Databricks. Les API lisent les événements de streaming à partir d’Event Hubs ou IoT Hub, puis convertissent ces événements ou fichiers bruts au format Delta Lake.
    • La commande COPY INTO. Utilisez cette commande pour copier des données directement à partir d’un fichier source ou d’un répertoire dans Delta Lake.
    • Le chargeur automatique d’Azure Databricks. Le chargeur automatique récupère les fichiers quand ils arrivent dans le lac de données et les écrit dans le format Delta Lake.
    • L’activité de copie Data Factory. Les clients peuvent utiliser cette option pour convertir les données de l’un de leurs formats pris en charge au format Delta Lake.
  • Les tables Argent stockent les données pendant qu’elles sont optimisées pour des cas d’usage de décisionnel et de science des données. La couche Bronze ingère des données brutes, puis des tâches ETL et de traitement de flux supplémentaires sont effectuées pour filtrer, nettoyer, transformer, joindre et agréger les données dans des jeux de données Argent organisés. Les entreprises peuvent utiliser un moteur de calcul cohérent, comme le moteur Delta répondant à des standards ouverts, lors de l’utilisation d’Azure Databricks comme service initial pour ces tâches. Elles peuvent ensuite utiliser des langages de programmation familiers comme SQL, Python, R ou Scala. Les entreprises peuvent également utiliser des processus de DevOps reproductibles et des clusters de calcul éphémères dimensionnés en fonction de leurs charges de travail individuelles.
  • Les tables Or contiennent des données enrichies, prêtes pour l’analytique et la création de rapports. Les analystes peuvent utiliser la méthode de leur choix, telle que PySpark, Koalas, SQL, Power BI et Excel, pour obtenir de nouveaux insights et formuler des requêtes.

Composants

  • Event Hubs analyse et évalue les messages de streaming à partir de différentes sources, y compris les systèmes locaux, et fournit des informations en temps réel.
  • Data Factory orchestre les pipelines de données pour l’ingestion, la préparation et la transformation de toutes vos données, quelle que soit l’échelle.
  • Data Lake Storage rassemble les données en streaming et par lots, y compris les données structurées, non structurées et semi-structurées telles que les journaux, les fichiers et les médias.
  • Azure Databricks nettoie et transforme les jeux de données sans structure et les combine avec des données structurées issues de bases de données opérationnelles ou d’entrepôts de données.
  • IoT Hub vous offre une communication fiable et hautement sécurisée entre vos appareils et application IoT.
  • Delta Lake sur Data Lake Storage prend en charge les transactions ACID pour la fiabilité et est optimisé pour une ingestion, un traitement et des requêtes efficaces.

Détails du scénario

L’ingestion, l’ETL et le traitement de flux avec Azure Databricks sont simples, ouverts et collaboratifs :

  • Simple : Un lac de données ouvert avec une couche organisée dans un format open source simplifie l’architecture des données. Delta Lake, outil open source, permet d’accéder au lac de données Azure Data Lake Storage. Delta Lake sur Data Lake Storage prend en charge les transactions ACID (atomicité, cohérence, isolation et durabilité) pour la fiabilité. Delta Lake est optimisé pour une ingestion, un traitement et des requêtes efficaces.
  • Ouvert : La solution prend en charge le code open source, les standards ouverts et les frameworks ouverts. Elle fonctionne également avec les langages de programmation, les bibliothèques et les environnements de développement intégrés (IDE) connus. Par le biais des connecteurs natifs et des API, la solution fonctionne également avec un large choix d’autres services.
  • Collaboratif : Les ingénieurs Données, les scientifiques des données et les analystes travaillent en collaboration avec cette solution. Ils peuvent utiliser des tableaux de bord, des IDE, des notebooks collaboratifs et d’autres outils pour accéder aux données sous-jacentes communes et les analyser.

Azure Databricks s’intègre de façon fluide à d’autres services Azure comme Data Lake Storage, Azure Data Factory, Azure Event Hubs et Azure IoT Hub.

Cas d’usage potentiels

Cette solution est inspirée par le système que Providence Health Care a créé pour l’analytique en temps réel. Tout secteur qui ingère des données par lots ou en streaming peut également envisager cette solution. Voici quelques exemples :

  • Vente et e-commerce
  • Finance
  • Santé et sciences de la vie
  • Fournisseurs en énergie

Étapes suivantes

  • Spanish Point Technologies crée son moteur de recherche de correspondances avec Azure Databricks et Azure Data Factory pour ingérer des données à grande échelle afin d’aider les musiciens à être rémunérés de façon équitable.

Guides et architectures entièrement déployables :