PySpark實戰指南:利用Python和Spark構建數據密集型應用並…|6877019

PySpark實戰指南:利用Python和Spark構建數據密集型應用並…|6877019 pdf epub mobi txt 電子書 下載 2025

美 托馬茲 卓巴斯Tomasz Drab 著,欒雲傑 陳瑤 劉旭斌 譯
圖書標籤:
  • PySpark
  • Spark
  • Python
  • 大數據
  • 數據分析
  • 數據挖掘
  • 數據工程
  • 機器學習
  • 數據處理
  • 分布式計算
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
店鋪: 互動齣版網圖書專營店
齣版社: 機械工業齣版社
ISBN:9787111582380
商品編碼:20047031785
叢書名: 大數據技術叢書
齣版時間:2017-11-01

具體描述

 書[0名0]:  PySpark實戰指南:利用Python和Spark構建數據密集型應用並規模化部署|6877019
 圖書定價:  49元
 圖書作者:  (美)托馬茲·卓巴斯(Tomasz Drabas);(美)丹尼·李(Denny Lee)
 齣版社:  機械工業齣版社
 齣版日期:  2017/11/1 0:00:00
 ISBN號:  9787111582380
 開本:  16開
 頁數:  0
 版次:  1-1
 作者簡介
托馬茲·卓巴斯(Tomasz Drabas)工作於微軟,是一[0名0]數據科[0學0]傢,現居住在西雅圖地區。他擁有[0超0]過13年的數據分析和數據科[0學0]經驗:在歐洲、澳[0大0]利亞和北美洲三[0大0]洲期間,工作[0領0]域遍及先進技術、航空、電信、金融和谘詢。在澳[0大0]利亞期間,托馬茲一直緻力於運籌[0學0]博士[0學0]位,重點是航空業中的選擇建模和收入管理應用。
在微軟,托馬茲每天都和[0大0]數據打交道,解決機器[0學0]習問題,如異常檢測、流失預測和使用Spark的模式識彆。
托馬茲還撰寫瞭《Practical Data Analysis Cookbook》,該書由Packt Publishing於2016年齣版。
我要感謝我的傢人Rachel、Skye 和Albert,你們是我生命中的摯愛,我很珍惜與你們度過的每一天!謝謝你們永遠站在我身邊,鼓勵我一步步接近我的職業目標。另外,感謝所有的親人們。
多年來,還有很多人影響瞭我,我得再寫一本書來感謝他們。你們[0知0]道,我從心底謝謝你們!
不過,如果不是Czesia Wieruszewska,我不[0會0]得到博士[0學0]位。還有Krzys Krzysztoszek,你一直相信我!謝謝!
丹尼·李(Denny Lee)是微軟Azure DocumentDB團隊的[0首0]席項目經理,該團隊緻力於為微軟發展高效性、重量級的托管文檔存儲服務。他是一[0名0]喜歡實踐的分布式係統和數據科[0學0]工程師,擁有[0超0]過18年的互聯網級彆基礎架構、數據平颱和預測分析係統的開發經驗,這些經驗可用於內部部署和雲環境。
他在組建新團隊以及促進轉型、改革方麵擁有豐富的經驗。在加入Azure DocumentDB團隊之前,丹尼曾擔任Databricks的技術傳播專員,他從Apache Spark 0.5時就一直在使用Apache Spark。他還是Concur數據科[0學0]工程的高級總監,曾就職於構建瞭微軟Windows和Azure服務(目前稱為HDInsight)的Hadoop的孵化團隊。丹尼還擁有俄勒岡州健康和科[0學0][0大0][0學0]的生物醫[0學0]信息碩士[0學0]位,並在過去15年中為企業醫療保健客戶構建和實施瞭強[0大0]的數據解決方案。
我要感謝我的好妻子Hua-Ping,還有我齣色的女兒Isabella和S [a0m0a0] ntha。是你們讓我保持清醒,幫我實現瞭夢寐以求的願望!
 目錄

譯者序

前言
關於作者
[0第0]1章 瞭解Spark 1
1.1 什麼是Apache Spark 1
1.2 Spark作業和API 2
1.2.1 執行過程 2
1.2.2 彈性分布式數據集 3
1.2.3 DataFrame 4
1.2.4 Dataset 5
1.2.5 Catalyst[0優0]化器 5
1.2.6 鎢絲計劃 5
1.3 Spark 2.0的架構 6
1.3.1 統一Dataset和DataFrame 7
1.3.2 SparkSession介紹 8
1.3.3 Tungsten Phase 2 8
1.3.4 結構化流 10
1.3.5 連續應用 10
1.4 小結 11
[0第0]2章 彈性分布式數據集 12
2.1 RDD的內部運行方式 12
2.2 創建RDD 13
2.2.1 Schema 14
2.2.2 從文件讀取 14
2.2.3 Lambda錶達式 15
2.3 全局作用域和局部作用域 16
2.4 轉換 17
2.4.1 .map(...)轉換 17
2.4.2 .filter(...)轉換 18
2.4.3 .flatMap(...)轉換 18
2.4.4 .distinct(...)轉換 18
2.4.5 .sample(...)轉換 19
2.4.6 .leftOuterJoin(...)轉換 19
2.4.7 .repartition(...)轉換 20
2.5 操作 20
2.5.1 .take(...)方[0法0] 21
2.5.2 .collect(...)方[0法0] 21
2.5.3 .reduce(...)方[0法0] 21
2.5.4 .count(...)方[0法0] 22
2.5.5 .saveAsTextFile(...)方[0法0] 22
2.5.6 .foreach(...)方[0法0] 23
2.6 小結 23
[0第0]3章 DataFrame 24
3.1 Python到RDD之間的通信 24
3.2 Catalyst[0優0]化器刷新 25
3.3 利用DataFrame加速PySpark 27
3.4 創建DataFrame 28
3.4.1 生成自己的JSON數據 29
3.4.2 創建一個DataFrame 29
3.4.3 創建一個臨時錶 30
3.5 簡單的DataFrame查詢 31
3.5.1 DataFrame API查詢 32
3.5.2 SQL查詢 32
3.6 RDD的交互操作 33
3.6.1 使用反射來推斷模式 33
3.6.2 編程指定模式 34
3.7 利用DataFrame API查詢 35
3.7.1 行數 35
3.7.2 運行篩選語句 35
3.8 利用SQL查詢 36
3.8.1 行數 36
3.8.2 利用where子句運行篩選語句 36
3.9 DataFrame場景——實時飛行性能 38
3.9.1 準備源數據集 38
3.9.2 連接飛行性能和機場 39
3.9.3 可視化飛行性能數據 40
3.10 Spark數據集(Dataset)API 41
3.11 小結 42
[0第0]4章 準備數據建模 43
4.1 檢查重復數據、未觀測數據和異常數據(離群值) 43
4.1.1 重復數據 43
4.1.2 未觀測數據 46
4.1.3 離群值 50
4.2 熟悉你的數據 51
4.2.1 描述性統計 52
4.2.2 相關性 54
4.3 可視化 55
4.3.1 直方圖 55
4.3.2 特徵之間的交互 58
4.4 小結 60
[0第0]5章 MLlib介紹 61
5.1 包概述 61
5.2 加載和轉換數據 62
5.3 瞭解你的數據 65
5.3.1 描述性統計 66
5.3.2 相關性 67
5.3.3 統計測試 69
5.4 創建終數據集 70
5.4.1 創建LabeledPoint形式的RDD 70
5.4.2 分隔培訓和測試數據 71
5.5 預測嬰兒生存機[0會0] 71
5.5.1 MLlib中的邏輯迴歸 71
5.5.2 隻選擇可預測的特徵 72
5.5.3 MLlib中的隨機森林 73
5.6 小結 74
[0第0]6章 ML包介紹 75
6.1 包的概述 75
6.1.1 轉換器 75
6.1.2 [0評0]估器 78
6.1.3 管道 80
6.2 使用ML預測嬰兒生存幾率 80
6.2.1 加載數據 80
6.2.2 創建轉換器 81
6.2.3 創建一個[0評0]估器 82
6.2.4 創建一個管道 82
6.2.5 擬閤模型 83
6.2.6 [0評0]估模型的性能 84
6.2.7 保存模型 84
6.3 [0超0]參調[0優0] 85
6.3.1 網格搜索[0法0] 85
6.3.2 Train-validation 劃分 88
6.4 使用PySpark ML的其他功能 89
6.4.1 特徵提取 89
6.4.2 分類 93
6.4.3 聚類 95
6.4.4 迴歸 98
6.5 小結 99
[0第0]7章 GraphFrames 100
7.1 GraphFrames介紹 102
7.2 安裝GraphFrames 102
7.2.1 創建庫 103
7.3 準備你的航班數據集 105
7.4 構建圖形 107
7.5 執行簡單查詢 108
7.5.1 確定機場和航班的數量 108
7.5.2 確定這個數據集中的長延誤時間 108
7.5.3 確定延誤和準點/早到航班的數量對比 109
7.5.4 哪一班從西雅圖齣發的航班有可能齣現重[0大0]延誤 109
7.5.5 西雅圖齣發到哪個州的航班有可能齣現重[0大0]延誤 110
7.6 理解節點的度 110
7.7 確定[0大0]的中轉機場 112
7.8 理解Motif 113
7.9 使用PageRank確定機場排[0名0] 114
7.10 確定受歡迎的直飛航班 115
7.11 使用廣度[0優0]先搜索 116
7.12 使用D3將航班可視化 118
7.13 小結 119
[0第0]8章 TensorFrames 120
8.1 深度[0學0]習是什麼 120
8.1.1 神經網絡和深度[0學0]習的必要性 123
8.1.2 特徵工程是什麼 125
8.1.3 橋接數據和算[0法0] 125
8.2 TensorFlow是什麼 127
8.2.1 安裝PIP 129
8.2.2 安裝TensorFlow 129
8.2.3 使用常量進行矩陣乘[0法0] 130
8.2.4 使用placeholder進行矩陣乘[0法0] 131
8.2.5 討論 132
8.3 TensorFrames介紹 133
8.4 TensorFrames快速入門 134
8.4.1 配置和設置 134
8.4.2 使用TensorFlow嚮已有列添加常量 136
8.4.3 Blockwise reducing操作示例 137
8.5 小結 139
[0第0]9章 使用Blaze實現混閤持久化 141
9.1 安裝Blaze 141
9.2 混閤持久化 142
9.3 抽象數據 143
9.3.1 使用NumPy 數組 143
9.3.2 使用pandas的DataFrame 145
9.3.3 使用文件 145
9.3.4 使用數據庫 147
9.4 數據操作 149
9.4.1 訪問列 150
9.4.2 符號轉換 150
9.4.3 列的操作 151
9.4.4 降階數據 152
9.4.5 連接 154
9.5 小結 156
[0第0]10章 結構化流 157
10.1 什麼是Spark Streaming 157
10.2 為什麼需要Spark Streaming 159
10.3 Spark Streaming應用程序數據流是什麼 160
10.4 使用DStream簡化Streaming應用程序 161
10.5 全局聚閤快速入門 165
10.6 結構化流介紹 168
10.7 小結 172
[0第0]11章 打包Spark應用程序 173
11.1 spark-submit命令 173
11.2 以編程方式部署應用程序 176
11.2.1 配置你的SparkSession 176
11.2.2 創建SparkSession 177
11.2.3 模塊化代碼 177
11.2.4 提交作業 180
11.2.5 監控執行 182
11.3 Databricks作業 184
11.4 小結 186

《海量數據時代的利器:Spark與Python構建高性能數據應用之道》 在數據爆炸式增長的今天,如何高效地處理、分析和挖掘海量數據,已成為企業和開發者麵臨的嚴峻挑戰。傳統的單機處理方式早已力不從心,分布式計算框架應運而生,而Apache Spark憑藉其卓越的性能、易用性和強大的生態係統,迅速成為業界翹楚。本書《海量數據時代的利器:Spark與Python構建高性能數據應用之道》旨在為您揭示Spark的強大魔力,並教授您如何巧妙運用Python這門通用、靈活的編程語言,結閤Spark的分布式計算能力,構建齣能夠應對 PB 級乃至 EB 級數據挑戰的高性能數據密集型應用。 本書並非一本簡單的API手冊,而是一次深入探索Spark底層機製、實戰場景與優化策略的旅程。我們相信,真正掌握一項技術,不僅僅在於瞭解其錶麵的語法,更在於理解其設計理念、工作原理以及在復雜場景下的應用之道。因此,本書將帶領您從 Spark 的核心概念入手,循序漸進地剖析其在分布式計算中的獨特優勢,並結閤大量貼近實際需求的案例,展示如何將這些優勢轉化為解決真實世界數據問題的強大武器。 第一部分:Spark 核心理念與基礎架構解析 本部分將為您奠定堅實的 Spark 理論基礎。我們將從 Spark 的誕生背景齣發,深入探討其與 Hadoop MapReduce 的關鍵區彆,重點闡述 Spark 如何通過內存計算、DAG 調度器、Catalyst 優化器等核心組件,實現比 MapReduce 快上百倍的執行效率。您將理解 Spark 的 RDD(彈性分布式數據集)、DataFrame 和 DataSet 的概念,它們是如何在分布式環境中錶示和處理數據的,以及它們各自的優劣勢和適用場景。 RDD:分布式數據集的基石。 我們將詳細講解 RDD 的惰性計算、容錯機製、寬依賴與窄依賴等核心特性,並通過實際代碼示例,展示如何創建 RDD、進行各種轉換(如 `map`、`filter`、`flatMap`)和行動(如 `count`、`collect`、`reduce`)操作。 DataFrame 與 DataSet:結構化數據的革新。 隨著 Spark 1.3 和 1.6 的發布,DataFrame 和 DataSet 逐漸成為處理結構化數據的首選。本書將重點解析 DataFrame 和 DataSet 的優勢,包括其優化的內存錶示、SQL 查詢能力以及 Catalyst 優化器如何為其帶來顯著的性能提升。您將學習如何使用 Spark SQL 構建復雜的查詢,如何進行 Schema 推斷和手動指定,以及如何通過 `select`、`where`、`groupBy`、`join` 等操作進行數據轉換和聚閤。 Spark 核心架構:理解其運作機製。 我們將深入剖析 Spark 的 Master-Worker 架構,理解 Driver、Executor、Cluster Manager(Standalone, YARN, Mesos, Kubernetes)的角色和通信機製。您將瞭解 Spark 作業的提交、調度過程,以及 Task、Stage、Job 的概念,從而更好地理解 Spark 作業的執行流程和潛在的性能瓶頸。 第二部分:Python 與 Spark 的深度融閤:開發實戰 在掌握瞭 Spark 的核心理論後,本書將轉嚮實戰,重點展示如何利用 Python 這一強大的編程語言,結閤 PySpark API,進行高效的數據應用開發。我們將涵蓋從數據加載、清洗、轉換、分析到模型訓練的全流程。 數據加載與預處理:萬丈高樓平地起。 您將學習如何使用 PySpark 加載各種格式的數據,包括 CSV、JSON、Parquet、ORC,以及如何連接到各種數據源,如 HDFS、S3、JDBC 數據庫。我們將通過大量的代碼示例,演示如何進行數據清洗,包括缺失值處理、異常值檢測、數據類型轉換、字符串操作、日期時間處理等。 數據轉換與聚閤:洞察數據價值。 本部分將深入講解 PySpark 中豐富的數據轉換操作,包括行級彆的操作(`withColumn`、`selectExpr`)、列級彆的操作、窗口函數的使用,以及如何進行復雜的數據聚閤(`groupBy`、`agg`)。您將學習如何利用 UDF(用戶定義函數)來擴展 Spark 的功能,以及如何優化 UDF 的性能。 Spark SQL:強大的聲明式查詢能力。 我們將詳細介紹 Spark SQL 的強大之處,包括其與 DataFrame API 的無縫集成,如何使用 SQL 語句進行復雜的數據過濾、轉換和聚閤。您將學習如何注冊臨時視圖,以及如何利用 Spark SQL 進行 ad-hoc 查詢和數據探索。 機器學習與 Spark MLlib:賦能智能應用。 Spark MLlib 是 Spark 用於機器學習的庫,它提供瞭豐富的數據預處理、特徵工程、模型訓練和評估的工具。本書將指導您如何利用 MLlib 進行監督學習(如綫性迴歸、邏輯迴歸、決策樹、隨機森林、梯度提升樹)、無監督學習(如 K-Means 聚類、PCA 降維)以及推薦係統。我們將重點關注如何將 Python 的數據科學生態(如 Pandas、NumPy、Scikit-learn)與 Spark MLlib 相結閤,構建端到端的數據科學流水綫。 流式數據處理:實時洞察。 隨著實時數據處理需求的不斷增長,Spark Streaming 和 Structured Streaming 已成為處理實時數據的利器。本書將深入講解 Spark Streaming 的基本概念、DStream(Discretized Stream)的原理,以及如何構建實時數據處理應用。隨後,我們將重點介紹 Structured Streaming,它提供瞭一個更簡潔、更統一的 API,將批處理和流處理的概念融閤在一起,極大地簡化瞭流式數據應用的開發。您將學習如何處理來自 Kafka、Kinesis 等數據源的實時數據,並進行實時聚閤、窗口計算等操作。 第三部分:Spark 性能調優與實踐進階 掌握瞭 Spark 的開發技巧後,如何讓您的應用跑得更快、更穩定,就成為至關重要的議題。本部分將聚焦於 Spark 的性能調優和高級實踐。 Spark 性能調優:解鎖極緻性能。 我們將深入探討 Spark 性能調優的各個方麵,包括 Shuffle 優化、內存管理、垃圾迴收、數據分區、緩存策略、廣播變量、纍加器等。您將學習如何利用 Spark UI 來監控作業執行情況,識彆性能瓶頸,並根據實際情況調整 Spark 的配置參數,以達到最佳的性能。 錯誤處理與故障排除:穩健應用之道。 在分布式係統中,錯誤和故障是不可避免的。本書將分享處理 Spark 作業中常見錯誤和異常的經驗,以及如何進行有效的故障排除,確保您的數據應用能夠健壯運行。 部署與集成:走嚮生産環境。 我們將探討 Spark 在不同集群環境(Standalone、YARN、Kubernetes)下的部署和管理,以及如何將 Spark 應用與現有的數據管道進行集成,實現端到端的數據處理流程。 本書特色: 實戰導嚮: 大量貼近實際業務場景的案例,涵蓋數據清洗、ETL、BI 分析、機器學習、實時數據處理等多個領域。 代碼驅動: 提供完整、可運行的 Python 代碼示例,方便讀者學習和實踐。 深入淺齣: 從基礎概念到高級技巧,層層遞進,幫助讀者建立全麵的 Spark 知識體係。 理論與實踐結閤: 在講解 API 的同時,深入剖析其背後的原理,幫助讀者知其然,更知其所以然。 關注最新技術: 包含對 Structured Streaming 等 Spark 生態中最新、最重要技術的介紹和實踐。 無論您是初次接觸 Spark 的數據工程師、數據科學傢,還是希望提升 Spark 應用性能的資深開發者,本書都將是您在海量數據時代乘風破浪的得力助手。通過本書的學習,您將能夠自信地利用 Python 和 Spark 構建齣高性能、可擴展、穩定可靠的數據密集型應用,從而在數據驅動的浪潮中脫穎而齣。現在,讓我們一同踏上這段精彩的 Spark 之旅!

用戶評價

評分

市麵上的技術書籍種類繁多,但真正能夠寫齣深度和廣度的卻不多。我對《PySpark實戰指南》的期待,在於它能否真正做到“指南”二字,也就是能夠帶領讀者從入門到精通,一步一步地掌握PySpark的各項技術。我希望書中能夠涵蓋PySpark的方方麵麵,從基礎的數據結構和API,到高級的函數式編程範式,再到Spark SQL、Spark Streaming、MLlib等核心組件的應用。更重要的是,我希望書中能夠提供一些“硬核”的實戰案例,展示如何利用PySpark解決真實的業務問題,例如如何處理海量的用戶行為數據,如何構建個性化推薦係統,或者如何進行大規模的A/B測試等。我希望通過這本書,能夠真正提升我在大數據處理和分析方麵的實戰能力。

評分

坦白說,我之前嘗試過學習PySpark,但過程中遇到瞭不少睏難。可能是因為找到的資料碎片化,或者講解不夠深入,導緻我對一些核心概念理解得不夠透徹,尤其是在理解Spark的分布式計算原理和內存管理方麵。當我看到這本《PySpark實戰指南》時,我非常期待它能夠填補我在這方麵的知識空白。我希望這本書能夠從Spark的架構原理講起,深入淺齣地解釋其背後的分布式計算模型,以及PySpark是如何與之協同工作的。同時,我也期望書中能夠詳細講解Spark的各種優化技巧,比如如何閤理地進行數據分區、如何選擇閤適的Shuffle策略,以及如何利用緩存來提升性能。我相信,隻有真正理解瞭Spark的底層機製,纔能更好地運用PySpark來解決實際問題,構建齣性能卓越的應用。

評分

這本書的封麵設計讓我印象深刻,那種簡潔又不失專業感的風格,很容易吸引到對技術書籍有追求的讀者。我一直對利用Python處理大規模數據充滿興趣,但苦於找不到一本既能係統介紹PySpark核心概念,又能提供貼近實際應用場景案例的教材。市麵上很多書要麼過於理論化,要麼案例陳舊,無法跟上技術發展的步伐。當我看到這本書的標題時,我立刻被它“實戰指南”和“數據密集型應用”這些關鍵詞吸引瞭。我期待這本書能帶領我一步步掌握PySpark,從基礎知識的學習到復雜問題的解決,最終能夠獨立構建齣高效的數據處理和分析應用。尤其是在大數據時代,數據的重要性不言而喻,而PySpark作為Spark的Python API,更是成為瞭許多數據工程師和數據科學傢必備的技能。我希望這本書能成為我學習PySpark的得力助手,讓我能夠更好地應對工作中遇到的挑戰,也能為我的職業發展添磚加瓦。

評分

我一直在尋找一本能夠幫助我提升在大數據領域競爭力的書籍,而《PySpark實戰指南》的書名,尤其是“構建數據密集型應用”這一部分,深深地吸引瞭我。我理解“數據密集型應用”不僅僅是簡單的數據處理,更包含瞭對數據的高效存儲、快速訪問、復雜分析以及智能決策的支持。我希望這本書能夠幫助我理解,如何利用PySpark將這些環節有機地結閤起來,構建齣真正具有業務價值的應用。我期待書中能夠深入探討性能優化、容錯處理、以及與其他大數據組件(如Hadoop、Kafka等)的集成。我希望通過學習這本書,能夠讓我不僅能夠編寫PySpark代碼,更能理解其背後的設計理念,從而能夠設計和開發齣更具擴展性、魯棒性和高效率的數據密集型應用。

評分

我一直覺得,學習一門新技術,最重要的是能將其融會貫通,並運用到實際工作中去。這本《PySpark實戰指南》的書名,恰恰點齣瞭我最看重的一點——“實戰”。我希望這本書不僅僅是停留在理論概念的講解,而是能夠通過大量的代碼示例和案例分析,讓我切實地感受到PySpark的強大之處。我尤其關心書中是否會涉及一些當下熱門的數據處理場景,比如實時流處理、機器學習模型的訓練和部署,以及數據倉庫的構建等。我希望通過學習這本書,能夠掌握如何利用PySpark高效地進行數據清洗、轉換、分析和可視化,並最終能夠基於這些處理結果,構建齣具有實際業務價值的數據密集型應用。我期待書中能夠提供一些行業內最佳實踐的指導,讓我少走彎路,更快地掌握PySpark的核心技術。

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有