資料工程師轉職專題:六都寵物資源分析開發實錄
這是我在參加資料工程師轉職培訓班時開發的專題作品,我的小組一共有五人,剛好大致可分為「資料工程組」3人、「資料分析組」2人,而我就是專注在資料工程方面的開發。經過三個月的學習與開發,這個專題已經趨於完成,所以撰寫此文記錄開發的過程,並分享一些心得給或許也計劃要轉職的夥伴。
目錄
- 專題簡介 (Project Overview)
- 技術選型 (Technical Stack)
- 技術架構 (Architecture Diagram)
- 爬蟲 & ETL:資料獲取與挑戰
- Airflow 自動化
- 雲端部署:VM、Docker 與 CI/CD
- 結語
專題概覽與技術選型
1. 專題簡介 (Project Overview)
本專題的最終目的是「分析六都寵物資源的分布情形」,而作為資料工程師的任務就是找到資料滿足這項需求,並且要能夠自動化運行。
2. 技術選型 (Technical Stack)
以下是我們選擇的工具和技術。
| 類別 | 工具/技術 |
|---|---|
| 程式語言 | Python |
| 資料庫 | MySQL |
| 雲服務 | GCP |
| 自動化 | Airflow |
| CI/CD | GitHub Action |
| 部署 | Docker |
資料管線架構與實作
3. 技術架構 (Architecture Diagram)
以下是本專題的技術架構圖,這是一個典型資料管線

- 資料擷取 (Extraction): 透過 Python 程式爬取資料,存入 Data Lake (GCS 及 VM 硬碟)。
- 資料轉換 (Transform): 使用 Python 的 Pandas 進行資料清洗與格式統一。
- 資料儲存 (Loading): 將清洗後的資料存入 Data Warehouse (MySQL)。
- 分析與呈現: 後續分析皆來自 MySQL,最終使用 Tableau 進行視覺化呈現。
4. 爬蟲 & ETL:資料獲取與挑戰
我們資料爬取方式主要有兩種: