首頁 > 後端開發 > Python教學 > 使用 AWS 和 OpenWeatherMap API 建立天氣資料分析管道

使用 AWS 和 OpenWeatherMap API 建立天氣資料分析管道

Susan Sarandon
發布: 2025-01-17 14:12:10
原創
257 人瀏覽過

這篇部落格文章將指導您使用 OpenWeatherMap API 和 AWS 服務建立天氣資料分析管道。 該管道獲取天氣數據,將其儲存在 S3 中,使用 AWS Glue 對其進行編目,並允許使用 Amazon Athena 進行查詢。

專案概覽

該專案創建了一個可擴展的數據管道,用於從多個城市獲取天氣數據,將其儲存在 AWS S3 中,透過 AWS Glue 對其進行編目,並支援使用 Amazon Athena 進行查詢。

初始架構與架構圖

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

專案結構與先決條件

開始之前,請確保您擁有:

  1. Docker:本地安裝。
  2. AWS 帳戶: 具有必要的權限(S3 儲存桶、Glue 資料庫、Glue 爬網程式)。
  3. OpenWeatherMap API 金鑰: 從 OpenWeatherMap 取得。

設定指南

  1. 複製儲存庫:

    <code class="language-bash">git clone https://github.com/Rene-Mayhrem/weather-insights.git
    cd weather-data-analytics</code>
    登入後複製
  2. 建立 .env 檔案: 使用您的 AWS 憑證和 API 金鑰在根目錄中建立 .env 檔案:

    <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>
    登入後複製
  3. 建立 cities.json: 建立 cities.json 列出城市:

    <code class="language-json">{
      "cities": [
        "London",
        "New York",
        "Tokyo",
        "Paris",
        "Berlin"
      ]
    }</code>
    登入後複製
  4. Docker Compose: 建置並運作:

    <code class="language-bash">docker compose run terraform init
    docker compose run python</code>
    登入後複製

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

用法

  1. 驗證基礎架構:檢查 Terraform 是否在 AWS 控制台中建立了 AWS 資源(S3、Glue 資料庫、Glue 爬蟲)。

  2. 驗證資料上傳:確認 Python 腳本已透過 AWS 控制台將天氣資料(JSON 檔案)上傳到您的 S3 儲存桶。

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

  1. 執行 Glue Crawler: Glue 爬蟲應該會自動運作;在 Glue 控制台中驗證其執行和資料編目。

  2. 使用 Athena 查詢: 使用 AWS 管理主控台存取 Athena 並對編目資料執行 SQL 查詢。

Building a Weather Data Analytics Pipeline with AWS and OpenWeatherMap API

關鍵組件

  • Docker:提供Python和Terraform一致的環境。
  • Terraform:管理 AWS 基礎設施(S3、Glue、Athena)。
  • Python: 取得天氣資料並上傳至 S3。
  • 膠水:目錄S3資料。
  • Athena:查詢編目資料。

結論

本指南可協助您使用 AWS 和 OpenWeatherMap 建立可擴展的天氣資料分析管道。 該管道可以輕鬆擴展以包含更多城市或資料來源。

以上是使用 AWS 和 OpenWeatherMap API 建立天氣資料分析管道的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板