首頁 搜尋 我的知識庫
Python 大數據專案 X 工程 X 產品 資料工程師的升級攻略(第二版)

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

作者: 林子軒
出版社: 深智數位
出版日期: 2023/08/20
ISBN-13: 9786267273739
書店 1






內容描述


★☆★☆★ 獨家解析知名大數據專案,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 等,本書是一本集大成的作品。

  ※本書程式實例可至深智官網下載deepwisdom.com.tw


目錄大綱


【第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 結論


作者介紹


作者簡介

林子軒

  Sam,目前任職 17 LIVE 資料工程師。擅長資料工程、資料分析,希望對Python 社群、大數據領域,提供一份心力。

  【經歷】
  ●17 LIVE 資深資料工程師。
  ●曾任職永豐金證券,軟體工程師。
  ●曾於 Open UP Summit 2019,擔任 Speaker。
  ●曾任職 Tripresso,資料工程師。
  ●東華研究所,應用數學碩士。

  【FinMind】
  ●github.com/FinMind/FinMind
  ●finmindtrade.com/

  【個人 GitHub】
  ●github.com/linsamtw

  【Email】
  ● samlin266118@gmail.com

  如對本書有疑問,歡迎寄信到以上信箱。筆者除了本書內容外,GitHub 上也有寫文章介紹,兩篇 Kaggle 競賽經驗,分別是生產線分析、庫存需求預設,如對以上有興趣,也可寄信到以上信箱。






相關書籍

超圖解 ESP32 深度實作

圖解網路的運作機制

跟著實務學習ASP.NET MVC 5.x-打下前進ASP.NET Core的基礎(使用C#2019)

物聯網智慧應用及技術特訓教材(第二版)