內容簡介
★☆★☆★ 獨家解析知名大數據專案,FinMind,帶你一窺大數據產品的發展過程,打造專屬個人的大數據 Side Project、作品、產品 ★☆★☆★
本書承襲第一版的精彩內容,分享在 Github 獲得 1,900 stars 的大數據 Side Project,並幫助讀者從 0 開始,打造專屬個人的大數據 Side Project。
精彩收錄:
【資料工程】
○ 使用分散式技術,RabbitMQ、Flower、Celery,收集證交所、櫃買中心、期交所等股市資訊。
○ 使用 Docker、FastAPI 架設 RESTful API 服務。
○ 使用 Docker Swarm 架設分散式服務,包含爬蟲、RESTful API、資料庫 MySQL、RabbitMQ 等服務。
○ 使用雲端服務,一個月 5 美金,且免費提供 100 美金額度。
○ 一站式管理多台分散式機器。
○ 使用業界等級的,分散式 Airflow。
【產品迭代】
○ 單元測試 Unit Test 介紹,包含爬蟲、API 測試範例。
○ 使用 CICD 做持續性整合、部屬,並以 Gitlab-CI 搭配 API 服務做為範例。
【API 產品上線】
○ 免費網址申請教學,No-IP。
○ 免費 SSL 憑證教學,Let's Encrypt。
○ 一站式管理多服務網址,容器化反向代理工具 Traefik。
【業界資料視覺化工具】
○ 使用 Redash 建立個人化、股市分析儀錶板。
【監控系統】
○ 使用最知名的監控工具,Prometheus、Grafana,同時監控所有服務。
讀完本書,你將學會分散式爬蟲、RESTful API、MySQL 資料庫、壓力測試、Docker Swarm、CICD、雲端、Traefik、Redash 視覺化、分散式 Airflow、監控系統 Prometheus、Grafana 等,本書是一本集大成的作品。
※本書程式實例可至深智官網下載http://deepwisdom.com.tw
本書承襲第一版的精彩內容,分享在 Github 獲得 1,900 stars 的大數據 Side Project,並幫助讀者從 0 開始,打造專屬個人的大數據 Side Project。
精彩收錄:
【資料工程】
○ 使用分散式技術,RabbitMQ、Flower、Celery,收集證交所、櫃買中心、期交所等股市資訊。
○ 使用 Docker、FastAPI 架設 RESTful API 服務。
○ 使用 Docker Swarm 架設分散式服務,包含爬蟲、RESTful API、資料庫 MySQL、RabbitMQ 等服務。
○ 使用雲端服務,一個月 5 美金,且免費提供 100 美金額度。
○ 一站式管理多台分散式機器。
○ 使用業界等級的,分散式 Airflow。
【產品迭代】
○ 單元測試 Unit Test 介紹,包含爬蟲、API 測試範例。
○ 使用 CICD 做持續性整合、部屬,並以 Gitlab-CI 搭配 API 服務做為範例。
【API 產品上線】
○ 免費網址申請教學,No-IP。
○ 免費 SSL 憑證教學,Let's Encrypt。
○ 一站式管理多服務網址,容器化反向代理工具 Traefik。
【業界資料視覺化工具】
○ 使用 Redash 建立個人化、股市分析儀錶板。
【監控系統】
○ 使用最知名的監控工具,Prometheus、Grafana,同時監控所有服務。
讀完本書,你將學會分散式爬蟲、RESTful API、MySQL 資料庫、壓力測試、Docker Swarm、CICD、雲端、Traefik、Redash 視覺化、分散式 Airflow、監控系統 Prometheus、Grafana 等,本書是一本集大成的作品。
※本書程式實例可至深智官網下載http://deepwisdom.com.tw
作者簡介
林子軒
Sam,目前任職 17 LIVE 資料工程師。擅長資料工程、資料分析,希望對Python 社群、大數據領域,提供一份心力。
【經歷】
● 17 LIVE 資深資料工程師。
● 曾任職永豐金證券,軟體工程師。
● 曾於 Open UP Summit 2019,擔任 Speaker。
● 曾任職 Tripresso,資料工程師。
● 東華研究所,應用數學碩士。
【FinMind】
● https://github.com/FinMind/FinMind
● https://finmindtrade.com/
【個人 GitHub】
● https://github.com/linsamtw
【Email】
● [email protected]
如對本書有疑問,歡迎寄信到以上信箱。筆者除了本書內容外,GitHub 上也有寫文章介紹,兩篇 Kaggle 競賽經驗,分別是生產線分析、庫存需求預設,如對以上有興趣,也可寄信到以上信箱。
Sam,目前任職 17 LIVE 資料工程師。擅長資料工程、資料分析,希望對Python 社群、大數據領域,提供一份心力。
【經歷】
● 17 LIVE 資深資料工程師。
● 曾任職永豐金證券,軟體工程師。
● 曾於 Open UP Summit 2019,擔任 Speaker。
● 曾任職 Tripresso,資料工程師。
● 東華研究所,應用數學碩士。
【FinMind】
● https://github.com/FinMind/FinMind
● https://finmindtrade.com/
【個人 GitHub】
● https://github.com/linsamtw
【Email】
● [email protected]
如對本書有疑問,歡迎寄信到以上信箱。筆者除了本書內容外,GitHub 上也有寫文章介紹,兩篇 Kaggle 競賽經驗,分別是生產線分析、庫存需求預設,如對以上有興趣,也可寄信到以上信箱。
內容目錄
【第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.2 爬蟲
5.3 資料庫架設
5.4 上傳資料到資料庫
5.5 分散式爬蟲
5.6 定時爬蟲
06 資料提供—RESTful API 設計
6.1 什麼是 API ?
6.2 輕量 API --- Flask
6.3 高效能 API --- FastAPI
07 容器管理工具 Docker
7.1 為什麼要用 Docker
7.2 建立第一個Docker Image --- Dockerfile
7.3 發布 Docker Image
7.4 雲端部屬
7.5 Docker Swarm
7.6 部屬服務
【第2 篇 產品迭代-- 測試運維】
08 自動化測試
8.1 單元測試 Unit Test
09 CICD 持續性整合、部屬
9.1 什麼是 CICD ?
9.2 CI 持續性整合
9.3 Gitlab-CI、以爬蟲專案為例
9.4 Gitlab-CI,建立 Docker Image
9.5 Gitlab-CI,部屬新版本
9.6 Gitlab-CI、以 API 專案為例
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.6 DAG 介紹
12.7 常見 Operator 介紹
12.8 Airflow 結合爬蟲 - CeleryExecutor
12.9 結論
13 Redis 介紹
13.1 什麼是 Redis ?
13.2 使用Docker 架設Redis - 結合 Celery
【第6 篇 監控系統】
14 監控工具介紹
14.1 為什麼需要監控系統?
14.2 最知名的開源監控系統之一
14.3 架設個人化監控儀表板
14.4 總結
15 結論
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.2 爬蟲
5.3 資料庫架設
5.4 上傳資料到資料庫
5.5 分散式爬蟲
5.6 定時爬蟲
06 資料提供—RESTful API 設計
6.1 什麼是 API ?
6.2 輕量 API --- Flask
6.3 高效能 API --- FastAPI
07 容器管理工具 Docker
7.1 為什麼要用 Docker
7.2 建立第一個Docker Image --- Dockerfile
7.3 發布 Docker Image
7.4 雲端部屬
7.5 Docker Swarm
7.6 部屬服務
【第2 篇 產品迭代-- 測試運維】
08 自動化測試
8.1 單元測試 Unit Test
09 CICD 持續性整合、部屬
9.1 什麼是 CICD ?
9.2 CI 持續性整合
9.3 Gitlab-CI、以爬蟲專案為例
9.4 Gitlab-CI,建立 Docker Image
9.5 Gitlab-CI,部屬新版本
9.6 Gitlab-CI、以 API 專案為例
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.6 DAG 介紹
12.7 常見 Operator 介紹
12.8 Airflow 結合爬蟲 - CeleryExecutor
12.9 結論
13 Redis 介紹
13.1 什麼是 Redis ?
13.2 使用Docker 架設Redis - 結合 Celery
【第6 篇 監控系統】
14 監控工具介紹
14.1 為什麼需要監控系統?
14.2 最知名的開源監控系統之一
14.3 架設個人化監控儀表板
14.4 總結
15 結論
ISBN: 9786267273739