注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計深入大型數據集:并行與分布化Python代碼

深入大型數據集:并行與分布化Python代碼

深入大型數據集:并行與分布化Python代碼

定 價:¥99.00

作 者: [美] J.T.Wolohan(J.T.沃勒翰) 著,張若飛 譯
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787121403682 出版時間: 2021-01-01 包裝: 平裝
開本: 16開 頁數: 320 字數:  

內容簡介

  本書共分3部分,主要介紹如何使用Python語言來處理大型數據集。第1部分介紹map和reduce編程風格,以及Python中基礎的map和reduce函數,并介紹如何將對象持久化,通過惰性函數和并行函數來加快大型數據集的處理速度。第2部分介紹Hadoop和Spark框架,以及如何使用mrjob庫來編寫Hadoop作業(yè),如何實現PageRank算法,如何使用Spark來實現決策樹和隨機森林的機器學習模型。第3部分重點介紹云計算和云存儲的基礎知識,包括如何通過boto3的Python庫將文件上傳到AWS S3服務,以及如何在AWS的EMR集群中運行分布式的Hadoop和Spark作業(yè)。本書適合有一定Python編程基礎,且希望掌握大型數據集處理能力的開發(fā)人員和數據科學家閱讀。

作者簡介

  J.T. Wolohan是Booz Allen Hamilton公司的一名高級人工智能和自然語言處理架構師。他教過各種層次的學生學習編程:從小學、初中學生到研究生、專業(yè)人士。除對分布式和并行計算感興趣之外,J.T.還喜歡跑步、烹飪和與家人共度時光。張若飛,曾任多家互聯網金融公司CTO,在宜人貸、雅虎北研、金山云等知名公司擔任架構師。十余年互聯網研發(fā)及技術管理經驗,對搭建海量數據、大型分布式系統(tǒng)有豐富經驗。著有十余本技術譯著,包括《Grails權威指南》《給大忙人看的JavaSE 8》《代碼不朽:編寫可維護軟件的十大原則》《面向可伸縮架構》《云原生Java》《云原生模式》等書,總計400余萬字。

圖書目錄

第1部分
第1章 入門介紹
1.1 你將從本書中學到什么
1.2 為什么是大型數據集
1.3 什么是并行計算
1.3.1 理解并行計算
1.3.2 擁有map和reduce編程風格的可擴展計算
1.3.3 何時應該使用map和reduce編程風格
1.4 map和reduce編程風格
1.4.1 用來轉換數據的map函數
1.4.2 用于高級轉換的reduce函數
1.4.3 用于數據轉譯管道的map和reduce函數
1.5 可提升速度和可擴展性的分布式計算
1.6 Hadoop:一個map和reduce的分布式框架
1.7 提供高性能map、reduce和其他功能的Spark
1.8 AWS Elastic MapReduce―云上的大型數據集
總結
第2章 加速大型數據集處理任務:map函數和并行計算
2.1 map函數簡介
2.1.1 通過map函數來獲取URL
2.1.2 惰性函數(比如map)對大型數據集的強大功能
2.2 并行處理
2.2.1 處理器和處理過程
2.2.2 并行化和序列化
2.2.3 順序和并行化
2.2.4 狀態(tài)和并行化
2.3 把它們拼在一起:抓取維基百科(Wikipedia)網站
2.3.1 可視化我們的圖
2.3.2 回到map函數
2.4 練習
2.4.1  并行化的問題
2.4.2 map函數
2.4.3 并行化和速度
2.4.4 存儲序列化
2.4.5 Web抓取數據
2.4.6 異構的map轉換
總結
第3章 用來映射復雜轉換的函數管道
3.1 輔助函數和函數鏈
3.2 揭露黑客的通信手段
3.2.1 創(chuàng)建輔助函數
3.2.2 創(chuàng)建一個管道
3.3 Twitter人口預測
3.3.1 推文級別的管道
3.3.2 用戶級別的管道
3.3.3 應用管道
3.4 練習
3.4.1 輔助函數和函數管道
3.4.2 數學老師的“把戲”
3.4.3 愷撒密碼
總結
第4章 用惰性工作流來處理大型數據集
4.1 什么是惰性計算
4.2 一些你需要知道的惰性函數
4.2.1 用filter函數過濾序列
4.2.2 用zip函數合并序列
4.2.3 用iglob函數進行惰性文件搜索
4.3 理解迭代器:Python惰性能力背后的魔法
4.3.1 惰性Python的支柱:迭代器
4.3.2 生成器:用來創(chuàng)建數據的函數
4.4 詩歌謎題:如何惰性處理大型數據集
4.4.1 生成這個示例的數據
4.4.2 用iglob函數來讀取詩的內容
4.4.3 清理詩的正則表達式類
4.4.4 計算詩歌內容的比率
4.5 惰性模擬:模擬漁村場景
4.5.1 創(chuàng)建一個村莊類
4.5.2 為我們的漁村場景設計一個模擬類
4.6 練習
4.6.1 惰性函數
4.6.2 fizz buzz問題生成器
4.6.3 重復訪問
4.6.4 并行模擬
4.6.5 拼字游戲單詞
總結
第5章 使用reduce進行累加操作
5.1 使用reduce函數進行N-X的轉換
5.2 reduce函數的三個部分
5.2.1 reduce中的累加函數
5.2.2 使用lambda函數的簡化累加
5.2.3 reduce函數中用于啟動復雜行為的初始值
5.3 你熟悉的歸約函數
5.3.1 使用reduce函數來模擬filter函數
5.3.2 使用reduce函數來模擬frequencies函數
5.4 同時使用map函數和reduce函數
5.5 使用reduce來分析汽車銷售趨勢
5.5.1 使用map函數來清洗汽車數據
5.5.2 使用reduce來計算汽車銷售的總利潤和總數量
5.5.3 對汽車數據應用map和reduce模式
5.6 加速map和reduce
5.7 練習
5.7.1 需要使用reduce的情況
5.7.2 lambda函數
5.7.3 最大的數字
5.7.4 按長度分組單詞
總結
第6章 使用高級并行化來加速map和reduce
6.1 充分利用并行map
6.1.1 分塊大小以及如何最大化地利用并行map
6.1.2 帶有可變序列和分塊大小的并行map運行時
6.1.3 更多的并行map:imap和starmap函數
6.2 解決并行map和reduce的悖論
6.2.1 用來更快進行歸約的并行reduce
6.2.2 組合函數以及并行reduce工作流
6.2.3 使用fold實現并行求和、filter和frequencies
總結
第2部分
第7章 使用Hadoop和Spark處理真正的大型數據集
7.1 分布式計算
7.2 用于批處理的Hadoop
7.3 使用Hadoop找到高分單詞
7.3.1 使用Python和Hadoop Streaming實現MapReduce作業(yè)
7.3.2 使用Hadoop Streaming對單詞進行評分
7.4 用于交互式工作流的Spark
7.4.1 用Spark在內存中處理大型數據集
7.4.2 結合Python和Spark的PySpark
7.4.3 使用Spark SQL進行企業(yè)數據分析
7.4.4 用Spark DataFrame來處理列式數據
7.5 用Spark來記錄單詞得分
7.5.1 搭建Spark環(huán)境
7.5.2 通過spark-submit來運行MapReduce Spark作業(yè)
7.6 練習
7.6.1 Hadoop Streaming腳本
7.6.2 Spark接口
7.6.3 RDD
7.6.4 在多個步驟之間傳遞數據
總結
第8章 使用Apache Streaming和mrjob處理大數據的最佳實踐
8.1 非結構化數據:日志和文檔
8.2 使用Hadoop對網球球員進行分析
8.2.1 用來讀取比賽數據的mapper函數
8.2.2 計算網球選手等級的reducer函數
8.3 通過mrjob工具,以Python的方式來使用Hadoop Streaming
8.3.1 一個mrjob作業(yè)的Python結構
8.3.2 使用mrjob統(tǒng)計錯誤數量
8.4 使用mrjob來分析網球比賽
8.4.1 按場地類型統(tǒng)計塞雷娜的戰(zhàn)績
8.4.2 統(tǒng)計威廉姆斯姐妹之間的長期競爭
8.5 練習
8.5.1 Hadoop的數據格式
8.5.2 更多的Hadoop數據格式
8.5.3 Hadoop的原生編程語言
8.5.4 在MRJob中設計通用的模式
總結
第9章 在PySpark中使用map和reduce來實現PageRank算法
9.1 近距離了解PySpark
9.1.1 PySpark中類似于map函數的方法
9.1.2 PySpark中類似于reduce函數的方法
9.1.3 PySpark中的簡便方法
9.2 在PySpark中使用Elo和PageRank算法對網球選手進行評分
9.2.1 使用PySpark重新實現Elo評分
9.2.2 介紹PageRank算法
9.2.3 用PageRank來計算網球選手的評分
9.3 練習
9.3.1 sumByKey
9.3.2 用toolz庫來實現sumByKey
9.3.3 Spark和toolz庫
9.3.4 維基百科的PageRank算法
總結
第10章 使用機器學習和PySpark進行更快的決策
10.1 什么是機器學習
10.1.1 機器學習是一種可以自我調節(jié)的判斷型算法
10.1.2 機器學習的常見應用程序
10.2 機器學習基礎與決策樹分類器
10.2.1 設計決策樹分類器
10.2.2 在PySpark中實現一個決策樹
10.3 PySpark中的快速隨機森林分類
10.3.1 理解隨機森林分類器
10.3.2 實現一個隨機森林分類器
總結
第3部分
第11章 使用Amazon Web Services和S3在云計算環(huán)境中處理大型數據集
11.1 AWS Simple Storage Service―針對大型數據集的解決方案
11.1.1 用S3實現無限的存儲
11.1.2 云存儲的可擴展性
11.1.3 方便的存儲異構對象
11.1.4 用于管理大型數據集的管理服務
11.1.5 管理大型數據集的生命周期策略
11.2 使用S3在云中存儲數據
11.2.1 通過瀏覽器來存儲S3數據
11.2.2 使用Python和boto通過編程方式訪問S3
11.3 練習
11.3.1 S3存儲類型
11.3.2 S3存儲區(qū)域
11.3.3 對象存儲
總結
第12章 使用Amazon的Elastic MapReduce在云上實現MapReduce
12.1 在EMR上通過mrjob來運行Hadoop
12.1.1 用EMR方便地創(chuàng)建云計算集群
12.1.2 使用mrjob啟動EMR集群
12.1.3 AWS的EMR瀏覽器界面
12.2 在EMR上使用Spark來進行機器學習
12.2.1 編寫機器學習模型
12.2.2 為Spark搭建一個EMR集群
12.2.3 在集群中運行PySpark作業(yè)
12.3 練習
12.3.1 R系列集群
12.3.2 相關聯的Hadoop工作
12.3.3 實例類型
總結

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號