Maison > développement back-end > Tutoriel Python > Création d'un pipeline d'analyse de données météorologiques avec AWS et l'API OpenWeatherMap

Création d'un pipeline d'analyse de données météorologiques avec AWS et l'API OpenWeatherMap

Susan Sarandon
Libérer: 2025-01-17 14:12:10
original
257 Les gens l'ont consulté

Cet article de blog vous guide dans la création d'un pipeline d'analyse de données météorologiques à l'aide de l'API OpenWeatherMap et des services AWS. Le pipeline récupère les données météorologiques, les stocke dans S3, les catalogue avec AWS Glue et permet d'interroger avec Amazon Athena.

Aperçu du projet

Ce projet crée un pipeline de données évolutif pour récupérer des données météorologiques de plusieurs villes, les stocker dans AWS S3, les cataloguer via AWS Glue et permettre les requêtes à l'aide d'Amazon Athena.

Architecture initiale et diagrammes d'architecture

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

Structure du projet et prérequis

Avant de commencer, assurez-vous d'avoir :

  1. Docker : Installé localement.
  2. Compte AWS : Avec les autorisations nécessaires (buckets S3, bases de données Glue, robots d'exploration Glue).
  3. Clé API OpenWeatherMap : Obtenue à partir d'OpenWeatherMap.

Guide de configuration

  1. Cloner le référentiel :

    <code class="language-bash">git clone https://github.com/Rene-Mayhrem/weather-insights.git
    cd weather-data-analytics</code>
    Copier après la connexion
  2. Créez un .env fichier : Créez un fichier .env dans le répertoire racine avec vos informations d'identification AWS et votre clé API :

    <code>AWS_ACCESS_KEY_ID=<your-access-key-id>
    AWS_SECRET_ACCESS_KEY=<your-secret-access-key>
    AWS_REGION=us-east-1
    S3_BUCKET_NAME=<your-s3-bucket-name>
    OPENWEATHER_API_KEY=<your-openweather-api-key></code>
    Copier après la connexion
  3. Créer cities.json : Créer cities.json listant les villes :

    <code class="language-json">{
      "cities": [
        "London",
        "New York",
        "Tokyo",
        "Paris",
        "Berlin"
      ]
    }</code>
    Copier après la connexion
  4. Docker Compose : Construire et exécuter :

    <code class="language-bash">docker compose run terraform init
    docker compose run python</code>
    Copier après la connexion

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

Utilisation

  1. Vérifier l'infrastructure : Vérifiez si Terraform a créé les ressources AWS (S3, base de données Glue, robot d'exploration Glue) dans la console AWS.

  2. Vérifier le téléchargement des données : Confirmez les données météorologiques téléchargées par le script Python (fichiers JSON) dans votre compartiment S3 via la console AWS.

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

  1. Exécuter Glue Crawler : Le robot Glue devrait s'exécuter automatiquement ; vérifier son exécution et le catalogage des données dans la console Glue.

  2. Requête avec Athena : Utilisez AWS Management Console pour accéder à Athena et exécuter des requêtes SQL sur les données cataloguées.

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

Composants clés

  • Docker : Fournit des environnements cohérents pour Python et Terraform.
  • Terraform : Gère l'infrastructure AWS (S3, Glue, Athena).
  • Python : Récupère et télécharge les données météorologiques sur S3.
  • Colle : Catalogue les données S3.
  • Athena : Interroge les données cataloguées.

Conclusion

Ce guide vous aide à créer un pipeline d'analyse de données météorologiques évolutif à l'aide d'AWS et d'OpenWeatherMap. Le pipeline peut être facilement étendu pour inclure davantage de villes ou de sources de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal