跳到主要內容

Python大數據專案×工程×產品: 資料工程師的升級攻略 (第3版) (3版)

$792 定價: $880 9折 可訂購

此書籍已售完,調書籍需2-5工作日。建議與有庫存書籍分開下單

也可以到門市自行翻閱這本書

店內位置

下單選門市自取可使用文化幣
有團購需求請加官方LINE詢問

LINE US!
直接購買
作者
林子軒
出版社
深智數位
ISBN
9786267757802
版次
3
出版日期
2026/02
頁數
592

簡介

https://youtu.be/od1RGCdhhII 【本書特色】 分享在 Github 獲得 2,300 stars 的大數據 Side Project——FinMind,並一步步帶領讀者從 0 開始,打造專屬於自己的大數據 Side Project。 不同於僅止於教學示範的 Side Project,FinMind 是少數經過實際使用者驗證、長期維運的資料服務,完整呈現資料工程從架構設計、系統實作,到產品化與穩定營運的全流程。讀者不只學會「怎麼做」,更能理解 為什麼要這樣做。 【你將學到】 資料工程實戰 ►使用分散式架構蒐集證交所、櫃買中心、期交所等股市資料, ►並以容器化技術建構爬蟲、API、資料庫與訊息佇列服務。 低成本雲端部署 ►單月約 5 美金 即可運行完整系統, ►一站式管理多台分散式機器與服務。 產品化與迭代流程 ►從單元測試、CI/CD 到 API 上線, ►建立可持續維護與擴充的資料產品。 監控與視覺化 ►建立專屬資料儀表板,並以業界主流監控工具掌握系統狀態。

目錄

▍第1 篇 資料工程ETL ►01 本書介紹 ►02 開發環境 2.1 開發環境重要性 2.2 Linux 作業系統 2.3 Windows 作業系統 2.4 Mac 作業系統 2.5 Python 開發工具VS Code ►03 Docker 3.1 為什麼先介紹 Docker ? 3.2 什麼是 Docker ? 3.3 安裝 Docker 3.4 安裝 Docker Compose ►04 雲端 4.1 為什麼要用雲端? ►05 資料收集 5.1 Python 環境設置 5.1.1 為什麼需要設置環境? 5.1.2 Python 環境、套件管理工具 --- pipenv 5.1.3 Python 環境、套件管理工具 --- uv 5.2 爬蟲 5.2.1 什麼是爬蟲? 5.2.2 證交所爬蟲範例 5.2.3 櫃買中心爬蟲範例 5.2.4 期交所爬蟲範例 5.3 資料庫架設 5.3.1 什麼是資料庫? 5.3.2 關聯式資料庫 --- MySQL 5.4 上傳資料到資料庫 5.4.1 架構介紹 5.4.2 Clients、Router 資料庫操作 5.4.3 建立 table 5.4.4 爬蟲上傳資料庫 5.5 分散式爬蟲 5.5.1 為什麼需要分散式? 5.5.2 分散式任務轉發 --- RabbitMQ 5.5.3 Python 分散式爬蟲工具 --- Celery 5.5.4 真實應用場景 5.5.5 FinMind 分散式爬蟲架構 5.6 定時爬蟲 5.6.1 為什麼需要定時爬蟲? 5.6.2 APScheduler 5.6.3 APScheduler & 分散式爬蟲架構 ►06 資料提供 - RESTful API 設計 6.1 什麼是 API ? 6.2 輕量 API --- Flask 6.2.1 建立第一個 API 6.3 高效能 API --- FastAPI 6.3.1 建立第一個 API 6.3.2 建立 API 回傳真實資料 6.3.3 ApacheBench 壓力測試 6.3.4 API 介面 --- Swagger ►07 容器管理工具 Docker 7.1 為什麼要用 Docker 7.2 建立第一個 Docker Image --- Dockerfile 7.2.1 爬蟲 7.2.2 API 7.3 發布 Docker Image 7.3.1 Docker Hub 介紹 7.3.2 發布 Docker Image 7.4 雲端部署 7.5 Docker Swarm 7.5.1 介紹 7.5.2 建立第一個 Swarm 7.5.3 管理介面 --- Portainer 7.6 佈署服務 7.6.1 MySQL 7.6.2 RabbitMQ 7.6.3 爬蟲 7.6.4 API ▍第2 篇 產品迭代 --- 測試運維 ►08 自動化測試 8.1 單元測試 Unit Test 8.1.1 什麼是單元測試 Unit Test ? 8.1.2 第一個測試 8.1.3 測試覆蓋率 8.1.4 爬蟲單元測試範例 8.1.5 API 單元測試範例 ►09 CICD 持續性整合、佈署 9.1 什麼是 CICD ? 9.2 CI 持續性整合 9.3 GitLab-CI、以爬蟲專案為例 9.4 GitLab-CI,建立 Docker Image 9.4.1 GitLab-Runner 9.4.2 CICD 建立 Docker Image 9.5 GitLab-CI,佈署新版本 9.6 GitLab-CI、以 API 專案為例 9.6.1 Test - 測試 9.6.2 Build - 建立 Image 9.6.3 Deploy - 佈署 9.7 總結 ▍第3 篇 API 產品上線 ►10 API 服務網址 10.1 為什麼需要網址? 10.2 No-IP 免費的網址申請 10.3 Let's Encrypt 免費的 SSL 憑證 10.4 Traefik 10.5 API 結合 Traefik 10.6 總結 ▍第4 篇 資料視覺化 ►11 視覺化工具 11.1 什麼是視覺化? 11.2 Redash 11.3 Redash 帳號設定 11.4 資料庫連接 11.5 匯入資料 11.6 製作第一個圖表 11.7 第一個 Dashboard 11.8 設定下拉式選單 11.9 其他 BI 工具 ▍第5 篇 排程管理工具 ►12 排程管理工具 - Apache Airflow 12.1 事前準備 12.2 什麼是排程管理工具? 12.3 為什麼選擇 Airflow ? 12.4 什麼是 Airflow ? 12.5 架設第一個 Airflow 12.5.1 為什麼使用 Docker 架設? 12.5.2 開始架設 Airflow 12.5.3 架構介紹 12.6 DAG 介紹 12.7 常見 Operator 介紹 12.7.1 BashOperator 12.7.2 PythonOperator 12.7.3 DummyOperator 12.7.4 BranchPythonOperator 12.7.5 DockerOperator 12.8 Airflow 結合爬蟲 - CeleryExecutor 12.8.1 架構介紹 12.8.2 架設 Airflow + CeleryExecutor 12.8.3 程式碼解析 12.9 結論 ►13 Redis 介紹 13.1 麼是 Redis ? 13.2 使用Docker 架設Redis- 結合Celery ▍第6 篇 監控系統 ►14 監控工具介紹 14.1 為什麼需要監控系統? 14.2 最知名的開源監控系統之一 14.2.1 Prometheus 介紹 14.2.2 Grafana 介紹 14.2.3 Netdata 介紹 14.2.4 如何尋找監控路徑 Metrics ? 14.3 架設個人化監控儀表板 14.3.1 Netdata 14.3.2 MySQL 14.3.3 RabbitMQ 14.3.4 Airflow 14.3.5 Traefik 14.4 總結 ►15 結論

為您推薦