in

Création d’un pipeline de données YouTube avec AWS et Apache Airflow | par Aashish Nair | Avr, 2023


CREER UN PIPELINE DE DONNEES POUR ANALYSER LES VIDEOS YOUTUBE

Introduction
YouTube est devenu un moyen majeur d’échange d’informations, de pensées et d’idées, avec en moyenne 3 millions de vidéos téléchargées chaque jour. La plateforme de streaming vidéo a toujours un nouveau sujet de conversation préparé pour son public grâce à son contenu diversifié, allant des histoires tragiques aux clips vidéo rythmés. Étant donné cet afflux constant de contenu vidéo, il est difficile de déterminer quel type de contenu attire le plus l’attention du public instable de YouTube.
En général, quels types de vidéos obtiennent le plus de likes et de commentaires ? Les utilisateurs de YouTube dans différents pays préfèrent-ils différents types de contenu ? L’intérêt pour des catégories de contenu spécifiques fluctue-t-il au fil du temps ? Répondre à ces questions nécessite une approche systématique de collecte, de traitement et de stockage des données de YouTube pour une analyse ultérieure.

Problème posé
L’objectif de ce projet est de créer un pipeline de données qui collecte des données de YouTube pour les 5 pays ayant le plus d’utilisateurs de YouTube : le Brésil, l’Inde, l’Indonésie, le Mexique et les États-Unis. Ce pipeline doit collecter des données quotidiennement afin de maintenir les informations à jour.
Les données collectées avec le pipeline seront utilisées pour répondre aux questions suivantes :
– Quelles sont les catégories de vidéos les plus populaires dans chaque pays ?
– La catégorie de vidéo la plus populaire change-t-elle au fil du temps ? Si oui, comment ?

Comprendre le pipeline de données
Avant de commencer le projet, il est utile de discuter de la configuration du pipeline, qui peut être représentée par le diagramme suivant :

Il y a beaucoup de choses à comprendre, alors décomposons-le. Amazon Web Services (AWS) fournira tous les services de calcul et de stockage nécessaires pour ce projet, tandis qu’Apache Airflow planifira les processus pertinents à exécuter chaque jour.
Tous les processus effectués dans l’environnement AWS seront facilités par des scripts Python qui exploiteront Boto3, le kit de développement logiciel (SDK) AWS pour Python. Ces scripts doivent être planifiés avec un DAG Apache Airflow, qui est déployé dans une instance EC2.

Comprendre les données
Ensuite, comprendre les données YouTube fournies par l’API aidera à déterminer les processus auxquels il doit être soumis dans le pipeline.
La réponse de l’appel API contient des informations sur jusqu’à 50 vidéos les plus populaires dans un pays donné à un moment donné. Les données brutes sont en format JSON.
Pour pouvoir interroger ces données avec SQL, ces données brutes doivent être transformées en un format CSV avant d’être stockées dans AWS. Les données transformées comprendront également les fonctionnalités pertinentes pour ce cas d’utilisation.
De plus, un appel API ne révèle des informations que sur un seul pays. Autrement dit, obtenir des données sur des vidéos populaires dans N pays nécessitera N appels API. Étant donné que l’objectif est d’extraire des données YouTube pour 5 pays, chaque itération nécessitera 5 appels API.

Phase 1 – Configuration de l’environnement AWS
Créons/déployons d’abord les ressources AWS qui seront nécessaires pour stocker et interroger les données YouTube.
1. Un utilisateur IAM sera créé uniquement pour ce projet. Cet utilisateur obtiendra l’autorisation d’utiliser Amazon EC2, Amazon S3 et Amazon Athena. L’utilisateur disposera également d’une clé d’accès, nécessaire pour utiliser ces ressources avec des scripts Python.
2. Une instance EC2 sera mise en place avec un AMI Ubuntu t2-small. C’est là que le pipeline Airflow sera déployé. Ensuite, une env Python nommée youtube pourra être configurée.
3. Un bucket S3 sera configuré pour stocker les données collectées ainsi que les résultats des requêtes.

Phase 2 – Faciliter les opérations AWS avec Boto3
Avec l’environnement AWS mis en place, nous pouvons maintenant nous concentrer sur la création des scripts qui faciliteront le transfert et le traitement des données. Nous allons écrire une fonction Python qui extrait les données de l’API YouTube, les stocke dans le bucket S3 en format CSV, et affiche le résultat.

Phase 3 – Configuration du pipeline Airflow
Après avoir créé les fonctions Python, nous pouvons construire le pipeline Airflow et planifier les fonctions à exécuter chaque jour. On écrira un script Pythonqui instancie le DAG, définit les tâches, établit des dépendances entre les tâches et configure Airflow pour exécuter les fonctions.

Phase 4 – Exécuter le pipeline Airflow
Enfin, nous pouvons exécuter le pipeline Airflow. Les fonctions créées précédemment seront appelées automatiquement par Airflow, et le résultat sera stocké dans le bucket S3 pour permettre une analyse ultérieure.
Conclusion
Créer un pipeline de données pour analyser les vidéos YouTube nécessite la configuration d’un environnement AWS, la création de fonctions Python pour extraire et stocker les données dans un bucket S3, et la mise en place d’un pipeline Airflow pour planifier et déclencher les fonctions chaque jour. Le pipeline permettra d’obtenir des informations sur les vidéos les plus populaires dans différents pays, ainsi que sur leur évolution au fil du temps.

What do you think?

Written by Barbara

Leave a Reply

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

100 Idées de marketing pour ChatGPT

Andrew Ng : Réduire l’envergure de l’IA – IEEE Spectrum