PySpark 實戰指南 : 利用 Python 和 Spark 構建數據密集型應用並規模化部署 (Learning PySpark)

托馬茲·卓巴斯 (Tomasz Drabas), 丹尼·李 (Denny Lee)

  • 出版商: 機械工業
  • 出版日期: 2017-11-01
  • 定價: $294
  • 售價: 8.5$250
  • 語言: 簡體中文
  • 頁數: 186
  • 裝訂: 平裝
  • ISBN: 7111582381
  • ISBN-13: 9787111582380
  • 相關分類: Spark
  • 此書翻譯自: Learning PySpark
  • 已絕版

買這商品的人也買了...

商品描述

本文從Spark的基本特點出發,借助大量例子詳細介紹瞭如何使用Python調用Spark新特性、處理結構化及非結構化數據、使用PySpark中基本可用數據類型、生成機器學習模型、進行圖像操作以及閱讀串流數據等新興技術內容。

作者簡介

作者:(美)托馬茲·卓巴斯作者:丹尼·李譯者:欒雲傑譯者:陳瑤譯者:劉旭斌

托馬茲·卓巴斯(Tomasz Drabas),微軟數據科學家,他擁有超過13年的數據分析經驗。托馬茲每天都和大數據打交道,解決機器學習問題(如異常檢測、流失預測),並使用Spark進行模式識別。丹尼·李(Denny Lee),微軟Azure DocumentDB團隊的首席項目經理。他是一個經驗豐富的分佈式系統和數據科學工程師,擁有超過18年的經驗,擅長開發互聯網級別基礎架構、數據平台和預測分析系統(包括內部部署和雲環境)。

目錄大綱

第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優化器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 

第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(...)方法21 
2.5 .2 .collect(...)方法21 
2.5.3 .reduce(...)方法21 
2.5.4 .count(...)方法22 
2.5.5 .saveAsTextFile(...)方法22 
2.5.6 .foreach(...)方法23 
2.6小結23 

第3章DataFrame 24 
3.1 Python到RDD之間的通信24 
3.2 Catalyst優化器刷新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 

第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 

第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預測嬰兒生存機會71 
5.5.1 MLlib中的邏輯回歸71 
5.5.2只選擇最可預測的特徵72 
5.5.3 MLlib中的隨機森林73 
5.6小結74 

第6章ML包介紹75 
6.1包的概述75 
6.1.1轉換器75 
6.1.2評估器78 
6.1.3管道80 
6.2使用ML預測嬰兒生存機率80 
6.2.1加載數據80 
6.2 .2創建轉換器81 
6.2.3創建一個評估器82 
6.2.4創建一個管道82 
6.2.5擬合模型83 
6.2.6評估模型的性能84 
6.2.7保存模型84 
6.3超參調優85
6.3.1網格搜索法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 

第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哪一班從西雅圖出發的航班最有可能出現重大延誤109 
7.5.5西雅圖出發到哪個州的航班最有可能出現重大延誤110 
7.6理解節點的度110 
7.7確定最大的中轉機場112 
7.8理解Motif 113 
7.9使用PageRank確定機場排名114 

第8章TensorFrames 120 
8.1深度學習是什麼120
8.1.1神經網絡和深度學習的必要性123 
8.1.2特徵工程是什麼125 
8.1.3橋接數據和算法125 
8.2 TensorFlow是什麼127 
8.2.1安裝PIP 129 
8.2.2安裝TensorFlow 129 
8.2.3使用常量進行矩陣乘法130 
8.2.4使用placeholder進行矩陣乘法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 
第9章使用Blaze實現混合持久化