in

Création d’un pipeline ELT en Python et Snowflake | par Dhilip Subramanian | Avr, 2023


EXTRACTION, CHARGEMENT ET TRANSFORMATION DE DONNÉES

ETL (Extraction, Transformation, Chargement) et ELT (Extraction, Chargement, Transformation) sont deux processus utilisés pour l’intégration et la transformation de données, mais ils ont des approches différentes. On peut les comparer à la préparation d’un repas : ETL consiste à préparer et à couper tous les ingrédients avant de cuisiner, tandis qu’ELT consiste à cuire les ingrédients d’abord, puis à ajouter des épices et des assaisonnements à volonté.

La différence clé est qu’en ETL, les données sont transformées avant d’être chargées dans un entrepôt de données, tandis qu’en ELT, les données brutes sont chargées dans l’entrepôt en premier, puis transformées à l’aide de SQL ou d’autres outils de transformation de données.

Les deux approches ont leurs avantages et leurs inconvénients. Personnellement, je préfère ELT à ETL car il est plus souple et facilite le stockage de nouvelles données non structurées. Avec ELT, vous pouvez enregistrer n’importe quel type d’information sans avoir à la transformer et à la structurer au préalable, ce qui vous permet d’accéder immédiatement à toutes vos informations.

ELT est plus rapide qu’ETL en ce qui concerne la disponibilité des données. Avec ELT, toutes les données peuvent être immédiatement chargées dans le système, et les utilisateurs peuvent ensuite décider quelles données ils veulent transformer et analyser. ELT nécessite également moins de maintenance par rapport à ETL. Étant donné qu’il est basé sur le cloud, il utilise des solutions automatisées au lieu de s’appuyer sur des mises à jour manuelles.

Le chargement de données est plus rapide avec ELT car l’étape de transformation se produit uniquement après que les données ont été entrées dans l’entrepôt. Cela aide à réduire le temps nécessaire pour charger les données dans leur emplacement final.

Cependant, l’utilisation d’ETL ou d’ELT dépend des besoins spécifiques de chaque entreprise. À mon travail, nous utilisons principalement ELT en fonction de nos exigences commerciales.

Apprendre à construire des pipelines ETL et ELT est une compétence essentielle pour les professionnels des données, car cela permet de rationaliser l’intégration des données et d’améliorer la précision et la fiabilité de l’analyse des données.

Dans cet article, nous montrerons comment construire un simple pipeline ELT en Python en utilisant les résultats d’inspection des restaurants de la ville de New York provenant de NYC open data. DOHMH fournit une API ouverte à leurs données. Nous extrairons les données de NYC Open Data, les chargerons dans Snowflake, puis les transformerons à l’aide de SQL.

Nous trouverons le nombre d’inspections qui ont eu lieu dans divers arrondissements de New York, ventilées par année. Notre pipeline comporte trois étapes :

– Extraction des données nécessaires de NYC Open Data
– Chargement des données dans Snowflake
– Exécution d’une requête pour effectuer l’analyse souhaitée.

EXTRACTION DE DONNÉES

Ce code extrait les données d’un point de terminaison API de NYC et imprime un enregistrement pour vérifier sa structure et le nombre total d’enregistrements disponibles. Ensuite, il vérifie si le code de réponse est 200, indiquant une demande réussie, et obtient le nombre d’enregistrements en utilisant l’en-tête « X-Total-Count » dans la réponse. Enfin, il renvoie les données JSON.

CHARGEMENT DE DONNÉES

Ce code charge les données dans Snowflake en utilisant le connecteur Snowflake. Le connecteur Snowflake pour Python est un package Python natif qui permet aux applications Python de se connecter à Snowflake et d’effectuer des opérations standard. Il fournit des objets de connexion pour établir des connexions avec Snowflake et des objets de curseur pour exécuter des déclarations DDL/DML et des requêtes. Le connecteur n’a pas de dépendances vis-à-vis de JDBC ou d’ODBC.

TRANSFORMATION DE DONNÉES

Nous trouvons le nombre d’inspections en utilisant une requête SQL et créons une table appelée inspectedhotels sous le nouveau schéma appelé curated. Cette table contiendra le nombre d’inspections qui ont eu lieu dans divers arrondissements de New York, ventilées par année.

CONCLUSION

Voici un exemple simple de pipeline ELT qui montre comment extraire, charger et transformer des données en utilisant Python et Snowflake. Cependant, le bon choix entre ETL et ELT dépend toujours des besoins spécifiques de l’entreprise. Les professionnels des données doivent apprendre à créer des pipelines ETL et ELT pour rationaliser l’intégration des données et améliorer l’analyse des données en termes de précision et de fiabilité.

What do you think?

Written by Barbara

Leave a Reply

Your email address will not be published. Required fields are marked *

Catalogue TCG – Cataloguez vos collections de cartes, économisez du temps et échangez.

“Je suis fatigué”