Python 大數據專案 X 工程 X 產品 資料工程師的升級攻略(第二版)
活動訊息
內容簡介
★☆★☆★ 獨家解析知名大數據專案,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 結論
序/導讀
作者序
✤ 大數據如何入門?
大數據的時代,各行各業都在試著往大數據前進,將大數據導入企業,那最重要的是什麼呢?模型嗎?筆者認為是資料,沒有資料,一切都是空談,因此基礎工程、基礎建設尤為重要,那要如何完善基礎工程呢?這點就是本書談的核心,資料工程。
✤ 大數據產品
本書從最基本的資料收集、爬蟲開始,到資料庫、RESTful API、分散式,最後走到視覺化,完整的呈現,大數據產品的發展過程。筆者除了做開源資料,為大數據盡一份心力外,也希望將過程,寫成一本書,分享給大眾,希望提供一個入門磚,且不只是入門,本書所用到的技術,已經到Senior 等級。另外,本書不單純以技術為主軸,而是引入真實案例、真實情境,讓讀者更能體會到,為什麼要使用這些技術,是為了解決什麼樣的問題。
✤ Side Project
工程師、分析師,除了專研技術以外,發展個人的Side Project,也漸漸成為主流,筆者的專案,FinMind,也是從Side Project 慢慢發展起來,目前在GitHub 得到 1,900 stars,算是得到一些認可。開發Side Project 有什麼好處呢?除了對履歷上加分外,持續開發,接觸的層面會更多更廣,對於架構設計、產品開發上,更加有經驗。且不只是接觸技術,而是有真實的案例,可以證明,你會這項技術,並應用在真實場景。另外,工程師最大的優勢是,有能力做出產品,甚至是分析能力,都有可能幫助讀者,創造出個人產品、品牌,筆者希望能借助本書,讓更多讀者進入這個領域,更多讀者開始建立個人 Project、產品、品牌。
最後,感謝深智數位出版社,邀請筆者撰寫這本書,讓筆者有機會,分享本書內容、產品開發經驗、大數據技術,給各位讀者。
林子軒
配送方式
-
台灣
- 國內宅配:本島、離島
-
到店取貨:
不限金額免運費
-
海外
- 國際快遞:全球
-
港澳店取:
詳細資料
詳細資料
-
- 語言
- 中文繁體
- 裝訂
- 紙本平裝
-
- ISBN
- 9786267273739
- 分級
- 普通級
-
- 頁數
- 392
- 商品規格
- 23.1*17.1*2.9
-
- 出版地
- 台灣
- 適讀年齡
- 全齡適讀
-
- 注音
- 級別
訂購/退換貨須知
退換貨須知:
**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**
-
依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
- 依消費者要求所為之客製化給付。(客製化商品)
- 報紙、期刊或雜誌。(含MOOK、外文雜誌)
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
- 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
- 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
- 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
- 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
商品評價