這篇部落格文章將指導您使用 OpenWeatherMap API 和 AWS 服務建立天氣資料分析管道。 該管道獲取天氣數據,將其儲存在 S3 中,使用 AWS Glue 對其進行編目,並允許使用 Amazon Athena 進行查詢。
專案概覽
該專案創建了一個可擴展的數據管道,用於從多個城市獲取天氣數據,將其儲存在 AWS S3 中,透過 AWS Glue 對其進行編目,並支援使用 Amazon Athena 進行查詢。
初始架構與架構圖
專案結構與先決條件
開始之前,請確保您擁有:
設定指南
複製儲存庫:
<code class="language-bash">git clone https://github.com/Rene-Mayhrem/weather-insights.git cd weather-data-analytics</code>
建立 .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>
建立 cities.json
: 建立 cities.json
列出城市:
<code class="language-json">{ "cities": [ "London", "New York", "Tokyo", "Paris", "Berlin" ] }</code>
Docker Compose: 建置並運作:
<code class="language-bash">docker compose run terraform init docker compose run python</code>
用法
驗證基礎架構:檢查 Terraform 是否在 AWS 控制台中建立了 AWS 資源(S3、Glue 資料庫、Glue 爬蟲)。
驗證資料上傳:確認 Python 腳本已透過 AWS 控制台將天氣資料(JSON 檔案)上傳到您的 S3 儲存桶。
執行 Glue Crawler: Glue 爬蟲應該會自動運作;在 Glue 控制台中驗證其執行和資料編目。
使用 Athena 查詢: 使用 AWS 管理主控台存取 Athena 並對編目資料執行 SQL 查詢。
關鍵組件
結論
本指南可協助您使用 AWS 和 OpenWeatherMap 建立可擴展的天氣資料分析管道。 該管道可以輕鬆擴展以包含更多城市或資料來源。
以上是使用 AWS 和 OpenWeatherMap API 建立天氣資料分析管道的詳細內容。更多資訊請關注PHP中文網其他相關文章!