-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應(yīng)用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調(diào)優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
深入大型數(shù)據(jù)集:并行與分布化Python代碼 版權(quán)信息
- ISBN:9787121403682
- 條形碼:9787121403682 ; 978-7-121-40368-2
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
深入大型數(shù)據(jù)集:并行與分布化Python代碼 本書特色
適讀人群 :針對需要更快處理更多數(shù)據(jù)的Python開發(fā)人員。有些編程技術(shù)在筆記本電腦可以存儲的數(shù)據(jù)上運行良好,但是在面對大量文件或者分布式數(shù)據(jù)集時,可能會出現(xiàn)抓取速度變慢或者完全失敗的情況。通過掌握強大的map和reduce范式,以及相應(yīng)支持的Python工具,你可以編寫出以數(shù)據(jù)為中心的應(yīng)用程序,而無須在需求變化時重新編寫整個代碼。 本書將會教你如何編寫可以處理任何大小數(shù)據(jù)集的代碼。你將從筆記本電腦可以存儲的數(shù)據(jù)集開始,然后學(xué)會如何把大型任務(wù)分解成可以同時運行的多個小任務(wù),從而并行地進行數(shù)據(jù)分析。之后將同樣的程序擴展到工業(yè)級規(guī)模的數(shù)據(jù)集,并且在一個云服務(wù)器集群上處理。在map和reduce范式的基礎(chǔ)上,你將了解如何使用Hadoop和PySpark這樣的工具來高效地處理海量的分布式數(shù)據(jù)集,如何使用機器學(xué)習(xí)來加速決策,以及如何用AWS S3來簡化數(shù)據(jù)存儲。 書中包括哪些內(nèi)容: √ 介紹什么是map和reduce范式 √ 如何通過multiprocessing模塊和pathos框架來實現(xiàn)并行化數(shù)據(jù)處理 √ 如何運行Hadoop和Spark進行分布式計算 √ 如何提交AWS作業(yè)來處理大型數(shù)據(jù)集
深入大型數(shù)據(jù)集:并行與分布化Python代碼 內(nèi)容簡介
本書共分3部分,主要介紹如何使用Python語言來處理大型數(shù)據(jù)集。部分介紹map和reduce編程風(fēng)格,以及Python中基礎(chǔ)的map和reduce函數(shù),并介紹如何將對象持久化,通過惰性函數(shù)和并行函數(shù)來加快大型數(shù)據(jù)集的處理速度。第2部分介紹Hadoop和Spark框架,以及如何使用mrjob庫來編寫Hadoop作業(yè),如何實現(xiàn)PageRank算法,如何使用Spark來實現(xiàn)決策樹和隨機森林的機器學(xué)習(xí)模型。第3部分重點介紹云計算和云存儲的基礎(chǔ)知識,包括如何通過boto3的Python庫將文件上傳到AWS S3服務(wù),以及如何在AWS的EMR集群中運行分布式的Hadoop和Spark作業(yè)。本書適合有一定Python編程基礎(chǔ),且希望掌握大型數(shù)據(jù)集處理能力的開發(fā)人員和數(shù)據(jù)科學(xué)家閱讀。
深入大型數(shù)據(jù)集:并行與分布化Python代碼 目錄
第1部分
第1章 入門介紹
1.1 你將從本書中學(xué)到什么
1.2 為什么是大型數(shù)據(jù)集
1.3 什么是并行計算
1.3.1 理解并行計算
1.3.2 擁有map和reduce編程風(fēng)格的可擴展計算
1.3.3 何時應(yīng)該使用map和reduce編程風(fēng)格
1.4 map和reduce編程風(fēng)格
1.4.1 用來轉(zhuǎn)換數(shù)據(jù)的map函數(shù)
1.4.2 用于高級轉(zhuǎn)換的reduce函數(shù)
1.4.3 用于數(shù)據(jù)轉(zhuǎn)譯管道的map和reduce函數(shù)
1.5 可提升速度和可擴展性的分布式計算
1.6 Hadoop:一個map和reduce的分布式框架
1.7 提供高性能map、reduce和其他功能的Spark
1.8 AWS Elastic MapReduce―云上的大型數(shù)據(jù)集
總結(jié)
第2章 加速大型數(shù)據(jù)集處理任務(wù):map函數(shù)和并行計算
2.1 map函數(shù)簡介
2.1.1 通過map函數(shù)來獲取URL
2.1.2 惰性函數(shù)(比如map)對大型數(shù)據(jù)集的強大功能
2.2 并行處理
2.2.1 處理器和處理過程
2.2.2 并行化和序列化
2.2.3 順序和并行化
2.2.4 狀態(tài)和并行化
2.3 把它們拼在一起:抓取維基百科(Wikipedia)網(wǎng)站
2.3.1 可視化我們的圖
2.3.2 回到map函數(shù)
2.4 練習(xí)
2.4.1 并行化的問題
2.4.2 map函數(shù)
2.4.3 并行化和速度
2.4.4 存儲序列化
2.4.5 Web抓取數(shù)據(jù)
2.4.6 異構(gòu)的map轉(zhuǎn)換
總結(jié)
第3章 用來映射復(fù)雜轉(zhuǎn)換的函數(shù)管道
3.1 輔助函數(shù)和函數(shù)鏈
3.2 揭露黑客的通信手段
3.2.1 創(chuàng)建輔助函數(shù)
3.2.2 創(chuàng)建一個管道
3.3 Twitter人口預(yù)測
3.3.1 推文級別的管道
3.3.2 用戶級別的管道
3.3.3 應(yīng)用管道
3.4 練習(xí)
3.4.1 輔助函數(shù)和函數(shù)管道
3.4.2 數(shù)學(xué)老師的“把戲”
3.4.3 愷撒密碼
總結(jié)
第4章 用惰性工作流來處理大型數(shù)據(jù)集
4.1 什么是惰性計算
4.2 一些你需要知道的惰性函數(shù)
4.2.1 用filter函數(shù)過濾序列
4.2.2 用zip函數(shù)合并序列
4.2.3 用iglob函數(shù)進行惰性文件搜索
4.3 理解迭代器:Python惰性能力背后的魔法
4.3.1 惰性Python的支柱:迭代器
4.3.2 生成器:用來創(chuàng)建數(shù)據(jù)的函數(shù)
4.4 詩歌謎題:如何惰性處理大型數(shù)據(jù)集
4.4.1 生成這個示例的數(shù)據(jù)
4.4.2 用iglob函數(shù)來讀取詩的內(nèi)容
4.4.3 清理詩的正則表達式類
4.4.4 計算詩歌內(nèi)容的比率
4.5 惰性模擬:模擬漁村場景
4.5.1 創(chuàng)建一個村莊類
4.5.2 為我們的漁村場景設(shè)計一個模擬類
4.6 練習(xí)
4.6.1 惰性函數(shù)
4.6.2 fizz buzz問題生成器
4.6.3 重復(fù)訪問
4.6.4 并行模擬
4.6.5 拼字游戲單詞
總結(jié)
第5章 使用reduce進行累加操作
5.1 使用reduce函數(shù)進行N-X的轉(zhuǎn)換
5.2 reduce函數(shù)的三個部分
5.2.1 reduce中的累加函數(shù)
5.2.2 使用lambda函數(shù)的簡化累加
5.2.3 reduce函數(shù)中用于啟動復(fù)雜行為的初始值
5.3 你熟悉的歸約函數(shù)
5.3.1 使用reduce函數(shù)來模擬filter函數(shù)
5.3.2 使用reduce函數(shù)來模擬frequencies函數(shù)
5.4 同時使用map函數(shù)和reduce函數(shù)
5.5 使用reduce來分析汽車銷售趨勢
5.5.1 使用map函數(shù)來清洗汽車數(shù)據(jù)
5.5.2 使用reduce來計算汽車銷售的總利潤和總數(shù)量
5.5.3 對汽車數(shù)據(jù)應(yīng)用map和reduce模式
5.6 加速map和reduce
5.7 練習(xí)
5.7.1 需要使用reduce的情況
5.7.2 lambda函數(shù)
5.7.3 *大的數(shù)字
5.7.4 按長度分組單詞
總結(jié)
第6章 使用高級并行化來加速map和reduce
6.1 充分利用并行map
6.1.1 分塊大小以及如何*大化地利用并行map
6.1.2 帶有可變序列和分塊大小的并行map運行時
6.1.3 更多的并行map:imap和starmap函數(shù)
6.2 解決并行map和reduce的悖論
6.2.1 用來更快進行歸約的并行reduce
6.2.2 組合函數(shù)以及并行reduce工作流
6.2.3 使用fold實現(xiàn)并行求和、filter和frequencies
總結(jié)
第2部分
第7章 使用Hadoop和Spark處理真正的大型數(shù)據(jù)集
7.1 分布式計算
7.2 用于批處理的Hadoop
7.3 使用Hadoop找到高分單詞
7.3.1 使用Python和Hadoop Streaming實現(xiàn)MapReduce作業(yè)
7.3.2 使用Hadoop Streaming對單詞進行評分
7.4 用于交互式工作流的Spark
7.4.1 用Spark在內(nèi)存中處理大型數(shù)據(jù)集
7.4.2 結(jié)合Python和Spark的PySpark
7.4.3 使用Spark SQL進行企業(yè)數(shù)據(jù)分析
7.4.4 用Spark DataFrame來處理列式數(shù)據(jù)
7.5 用Spark來記錄單詞得分
7.5.1 搭建Spark環(huán)境
7.5.2 通過spark-submit來運行MapReduce Spark作業(yè)
7.6 練習(xí)
7.6.1 Hadoop Streaming腳本
7.6.2 Spark接口
7.6.3 RDD
7.6.4 在多個步驟之間傳遞數(shù)據(jù)
總結(jié)
第8章 使用Apache Streaming和mrjob處理大數(shù)據(jù)的*佳實踐
8.1 非結(jié)構(gòu)化數(shù)據(jù):日志和文檔
8.2 使用Hadoop對網(wǎng)球球員進行分析
8.2.1 用來讀取比賽數(shù)據(jù)的mapper函數(shù)
8.2.2 計算網(wǎng)球選手等級的reducer函數(shù)
8.3 通過mrjob工具,以Python的方式來使用Hadoop Streaming
8.3.1 一個mrjob作業(yè)的Python結(jié)構(gòu)
8.3.2 使用mrjob統(tǒng)計錯誤數(shù)量
8.4 使用mrjob來分析網(wǎng)球比賽
8.4.1 按場地類型統(tǒng)計塞雷娜的戰(zhàn)績
8.4.2 統(tǒng)計威廉姆斯姐妹之間的長期競爭
8.5 練習(xí)
8.5.1 Hadoop的數(shù)據(jù)格式
8.5.2 更多的Hadoop數(shù)據(jù)格式
8.5.3 Hadoop的原生編程語言
8.5.4 在MRJob中設(shè)計通用的模式
總結(jié)
第9章 在PySpark中使用map和reduce來實現(xiàn)PageRank算法
9.1 近距離了解PySpark
9.1.1 PySpark中類似于map函數(shù)的方法
9.1.2 PySpark中類似于reduce函數(shù)的方法
9.1.3 PySpark中的簡便方法
9.2 在PySpark中使用Elo和PageRank算法對網(wǎng)球選手進行評分
9.2.1 使用PySpark重新實現(xiàn)Elo評分
9.2.2 介紹PageRank算法
9.2.3 用PageRank來計算網(wǎng)球選手的評分
9.3 練習(xí)
9.3.1 sumByKey
9.3.2 用toolz庫來實現(xiàn)sumByKey
9.3.3 Spark和toolz庫
9.3.4 維基百科的PageRank算法
總結(jié)
第10章 使用機器學(xué)習(xí)和PySpark進行更快的決策
10.1 什么是機器學(xué)習(xí)
10.1.1 機器學(xué)習(xí)是一種可以自我調(diào)節(jié)的判斷型算法
10.1.2 機器學(xué)習(xí)的常見應(yīng)用程序
10.2 機器學(xué)習(xí)基礎(chǔ)與決策樹分類器
10.2.1 設(shè)計決策樹分類器
10.2.2 在PySpark中實現(xiàn)一個決策樹
10.3 PySpark中的快速隨機森林分類
10.3.1 理解隨機森林分類器
10.3.2 實現(xiàn)一個隨機森林分類器
總結(jié)
第3部分
第11章 使用Amazon Web Services和S3在云計算環(huán)境中處理大型數(shù)據(jù)集
11.1 AWS Simple Storage Service―針對大型數(shù)據(jù)集的解決方案
11.1.1 用S3實現(xiàn)無限的存儲
11.1.2 云存儲的可擴展性
11.1.3 方便的存儲異構(gòu)對象
11.1.4 用于管理大型數(shù)據(jù)集的管理服務(wù)
11.1.5 管理大型數(shù)據(jù)集的生命周期策略
11.2 使用S3在云中存儲數(shù)據(jù)
11.2.1 通過瀏覽器來存儲S3數(shù)據(jù)
11.2.2 使用Python和boto通過編程方式訪問S3
11.3 練習(xí)
11.3.1 S3存儲類型
11.3.2 S3存儲區(qū)域
11.3.3 對象存儲
總結(jié)
第12章 使用Amazon的Elastic MapReduce在云上實現(xiàn)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來進行機器學(xué)習(xí)
12.2.1 編寫機器學(xué)習(xí)模型
12.2.2 為Spark搭建一個EMR集群
12.2.3 在集群中運行PySpark作業(yè)
12.3 練習(xí)
12.3.1 R系列集群
12.3.2 相關(guān)聯(lián)的Hadoop工作
12.3.3 實例類型
總結(jié)
深入大型數(shù)據(jù)集:并行與分布化Python代碼 作者簡介
J.T. Wolohan是Booz Allen Hamilton公司的一名高級人工智能和自然語言處理架構(gòu)師。他教過各種層次的學(xué)生學(xué)習(xí)編程:從小學(xué)、初中學(xué)生到研究生、專業(yè)人士。除對分布式和并行計算感興趣之外,J.T.還喜歡跑步、烹飪和與家人共度時光。張若飛,曾任多家互聯(lián)網(wǎng)金融公司CTO,在宜人貸、雅虎北研、金山云等知名公司擔(dān)任架構(gòu)師。十余年互聯(lián)網(wǎng)研發(fā)及技術(shù)管理經(jīng)驗,對搭建海量數(shù)據(jù)、大型分布式系統(tǒng)有豐富經(jīng)驗。著有十余本技術(shù)譯著,包括《Grails權(quán)威指南》《給大忙人看的JavaSE 8》《代碼不朽:編寫可維護軟件的十大原則》《面向可伸縮架構(gòu)》《云原生Java》《云原生模式》等書,總計400余萬字。
- >
經(jīng)典常談
- >
月亮與六便士
- >
唐代進士錄
- >
名家?guī)阕x魯迅:故事新編
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
苦雨齋序跋文-周作人自編集
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
詩經(jīng)-先民的歌唱