書馨卡幫你省薪 2024個人購書報告 2024中圖網(wǎng)年度報告
歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
深入理解Spark核心思想與源碼分析

深入理解Spark核心思想與源碼分析

作者:耿嘉安著
出版社:機(jī)械工業(yè)出版社出版時間:2016-01-01
開本: 16開 頁數(shù): 469
中 圖 價:¥34.7(3.5折) 定價  ¥99.0 登錄后可看到會員價
加入購物車 收藏
運費6元,滿39元免運費
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標(biāo)記、光盤等附件不全詳細(xì)品相說明>>
本類五星書更多>

深入理解Spark核心思想與源碼分析 版權(quán)信息

深入理解Spark核心思想與源碼分析 本書特色

本書對spark源代碼進(jìn)行了全面而深入的分析,旨在為spark的優(yōu)化、定制和擴(kuò)展提供原理性的指導(dǎo)。阿里巴巴集團(tuán)專家鼎力推薦,阿里巴巴資深java開發(fā)和大數(shù)據(jù)專家撰寫。本書對spark的核心模塊、部署和協(xié)作模塊的實現(xiàn)原理與使用技巧進(jìn)行了深入的剖析與解讀。   本書分為三篇:   準(zhǔn)備篇(第1~2章),介紹了spark的環(huán)境搭建、設(shè)計理念與基本架構(gòu),幫助讀者了解一些背景知識。   核心設(shè)計篇(第3~7章),著重講解sparkcontext的初始化、存儲體系、任務(wù)提交與執(zhí)行、計算引擎及部署模式的原理和源碼分析。通過這部分的內(nèi)容,讀者可以通過源碼剖析更加深入理解spark的核心設(shè)計與實現(xiàn),以便在實際使用中能夠快速解決線上問題并對性能進(jìn)行調(diào)優(yōu)。   擴(kuò)展篇(第8~11章),主要講解基于spark核心的各種擴(kuò)展及應(yīng)用,包括sql處理引擎、hive處理、流式計算框架spark streaming、圖計算框架graphx、機(jī)器學(xué)習(xí)庫mllib等內(nèi)容。通過閱讀這部分內(nèi)容,讀者可以擴(kuò)展實際項目中對spark的應(yīng)用場景,讓spark煥發(fā)活力。

深入理解Spark核心思想與源碼分析 內(nèi)容簡介

阿里集團(tuán)專家鼎力推薦,阿里資深java開發(fā)和大數(shù)據(jù)專家撰寫 結(jié)合大量圖和示例,對spark的核心模塊、部署和協(xié)作模塊的實現(xiàn)原理與使用技巧進(jìn)行了深入的剖析與解讀 本書特色: 按照源碼分析的習(xí)慣設(shè)計,條分縷析。 多圖、多示例,幫讀者快速在頭腦中“建!。 原理與實現(xiàn)剖析,幫助讀者提升架構(gòu)設(shè)計、程序設(shè)計等方面的能力。 盡可能保留較多的源碼,方便離線和移動環(huán)境的閱讀。

深入理解Spark核心思想與源碼分析 目錄

contents 目錄前言準(zhǔn) 備 篇第1章 環(huán)境準(zhǔn)備21.1 運行環(huán)境準(zhǔn)備21.1.1 安裝jdk31.1.2 安裝scala31.1.3 安裝spark41.2 spark初體驗41.2.1 運行spark-shell41.2.2 執(zhí)行word count51.2.3 剖析spark-shell71.3 閱讀環(huán)境準(zhǔn)備111.4 spark源碼編譯與調(diào)試131.5 小結(jié)17第2章 spark設(shè)計理念與基本架構(gòu)182.1 初識spark182.1.1 hadoop mrv1的局限182.1.2 spark使用場景202.1.3 spark的特點202.2 spark基礎(chǔ)知識202.3 spark基本設(shè)計思想222.3.1 spark模塊設(shè)計222.3.2 spark模型設(shè)計242.4 spark基本架構(gòu)252.5 小結(jié)26核心設(shè)計篇第3章 sparkcontext的初始化283.1 sparkcontext概述283.2 創(chuàng)建執(zhí)行環(huán)境sparkenv303.2.1 安全管理器securitymanager313.2.2 基于akka的分布式消息系統(tǒng)actorsystem313.2.3 map任務(wù)輸出跟蹤器mapoutputtracker323.2.4 實例化shufflemanager343.2.5 shuffle線程內(nèi)存管理器shufflememorymanager343.2.6 塊傳輸服務(wù)blocktransferservice353.2.7 blockmanagermaster介紹353.2.8 創(chuàng)建塊管理器blockmanager363.2.9 創(chuàng)建廣播管理器broadcast-manager363.2.10 創(chuàng)建緩存管理器cachemanager373.2.11 http文件服務(wù)器httpfile-server373.2.12 創(chuàng)建測量系統(tǒng)metricssystem393.2.13 創(chuàng)建sparkenv403.3 創(chuàng)建metadatacleaner413.4 sparkui詳解423.4.1 listenerbus詳解433.4.2 構(gòu)造jobprogresslistener463.4.3 sparkui的創(chuàng)建與初始化473.4.4 spark ui的頁面布局與展示493.4.5 sparkui的啟動543.5 hadoop相關(guān)配置及executor環(huán)境變量543.5.1 hadoop相關(guān)配置信息543.5.2 executor環(huán)境變量543.6 創(chuàng)建任務(wù)調(diào)度器taskscheduler553.6.1 創(chuàng)建taskschedulerimpl553.6.2 taskschedulerimpl的初始化573.7 創(chuàng)建和啟動dagscheduler573.8 taskscheduler的啟動603.8.1 創(chuàng)建localactor603.8.2 executorsource的創(chuàng)建與注冊623.8.3 executoractor的構(gòu)建與注冊643.8.4 spark自身classloader的創(chuàng)建643.8.5 啟動executor的心跳線程663.9 啟動測量系統(tǒng)metricssystem693.9.1 注冊sources703.9.2 注冊sinks703.9.3 給sinks增加jetty的servlet-contexthandler713.10 創(chuàng)建和啟動executorallocation-manager723.11 contextcleaner的創(chuàng)建與啟動733.12 spark環(huán)境更新743.13 創(chuàng)建dagschedulersource和blockmanagersource763.14 將sparkcontext標(biāo)記為激活773.15 小結(jié)78第4章 存儲體系794.1 存儲體系概述794.1.1 塊管理器blockmanager的實現(xiàn)794.1.2 spark存儲體系架構(gòu)814.2 shuffle服務(wù)與客戶端834.2.1 block的rpc服務(wù)844.2.2 構(gòu)造傳輸上下文transpor-tcontext854.2.3 rpc客戶端工廠transport-clientfactory864.2.4 netty服務(wù)器transportserver874.2.5 獲取遠(yuǎn)程shuffle文件884.2.6 上傳shuffle文件894.3 blockmanagermaster對block-manager的管理904.3.1 blockmanagermasteractor904.3.2 詢問driver并獲取回復(fù)方法924.3.3 向blockmanagermaster注冊blockmanagerid934.4 磁盤塊管理器diskblockmanager944.4.1 diskblockmanager的構(gòu)造過程944.4.2 獲取磁盤文件方法getfile964.4.3 創(chuàng)建臨時block方法create-tempshuffleblock964.5 磁盤存儲diskstore974.5.1 nio讀取方法getbytes974.5.2 nio寫入方法putbytes984.5.3 數(shù)組寫入方法putarray984.5.4 iterator寫入方法putiterator984.6 內(nèi)存存儲memorystore994.6.1 數(shù)據(jù)存儲方法putbytes1014.6.2 iterator寫入方法putiterator詳解1014.6.3 安全展開方法unrollsafely1024.6.4 確認(rèn)空閑內(nèi)存方法ensurefreespace1054.6.5 內(nèi)存寫入方法putarray1074.6.6 嘗試寫入內(nèi)存方法trytoput1084.6.7 獲取內(nèi)存數(shù)據(jù)方法getbytes1094.6.8 獲取數(shù)據(jù)方法getvalues1104.7 tachyon存儲tachyonstore1104.7.1 tachyon簡介1114.7.2 tachyonstore的使用1124.7.3 寫入tachyon內(nèi)存的方法putintotachyonstore1134.7.4 獲取序列化數(shù)據(jù)方法getbytes1134.8 塊管理器blockmanager1144.8.1 移出內(nèi)存方法dropfrom-memory1144.8.2 狀態(tài)報告方法reportblockstatus1164.8.3 單對象塊寫入方法putsingle1174.8.4 序列化字節(jié)塊寫入方法putbytes1184.8.5 數(shù)據(jù)寫入方法doput1184.8.6 數(shù)據(jù)塊備份方法replicate1214.8.7 創(chuàng)建diskblockobjectwriter的方法getdiskwriter1254.8.8 獲取本地block數(shù)據(jù)方法getblockdata1254.8.9 獲取本地shuffle數(shù)據(jù)方法dogetlocal1264.8.10 獲取遠(yuǎn)程block數(shù)據(jù)方法dogetremote1274.8.11 獲取block數(shù)據(jù)方法get1284.8.12 數(shù)據(jù)流序列化方法dataserializestream1294.9 metadatacleaner和broadcastcleaner1294.10 緩存管理器cachemanager1304.11 壓縮算法1334.12 磁盤寫入實現(xiàn)diskblockobjectwriter1334.13 塊索引shuffle管理器indexshuffleblockmanager1354.14 shuffle內(nèi)存管理器shufflememorymanager1374.15 小結(jié)138第5章 任務(wù)提交與執(zhí)行1395.1 任務(wù)概述1395.2 廣播hadoop的配置信息1425.3 rdd轉(zhuǎn)換及dag構(gòu)建1445.3.1 為什么需要rdd1445.3.2 rdd實現(xiàn)分析1465.4 任務(wù)提交1525.4.1 任務(wù)提交的準(zhǔn)備1525.4.2 finalstage的創(chuàng)建與stage的劃分1575.4.3 創(chuàng)建job1635.4.4 提交stage1645.4.5 提交task1655.5 執(zhí)行任務(wù)1765.5.1 狀態(tài)更新1765.5.2 任務(wù)還原1775.5.3 任務(wù)運行1785.6 任務(wù)執(zhí)行后續(xù)處理1795.6.1 計量統(tǒng)計與執(zhí)行結(jié)果序列化1795.6.2 內(nèi)存回收1805.6.3 執(zhí)行結(jié)果處理1815.7 小結(jié)187第6章 計算引擎1886.1 迭代計算1886.2 什么是shuffle1926.3 map端計算結(jié)果緩存處理1946.3.1 map端計算結(jié)果緩存聚合1956.3.2 map端計算結(jié)果簡單緩存2006.3.3 容量限制2016.4 map端計算結(jié)果持久化2046.4.1 溢出分區(qū)文件2056.4.2排序與分區(qū)分組2076.4.3 分區(qū)索引文件2096.5 reduce端讀取中間計算結(jié)果2106.5.1 獲取map任務(wù)狀態(tài)2136.5.2 劃分本地與遠(yuǎn)程block2156.5.3 獲取遠(yuǎn)程block2176.5.4 獲取本地block2186.6 reduce端計算2196.6.1 如何同時處理多個map任務(wù)的中間結(jié)果2196.6.2 reduce端在緩存中對中間計算結(jié)果執(zhí)行聚合和排序2206.7 map端與reduce端組合分析2216.7.1 在map端溢出分區(qū)文件,在reduce端合并組合2216.7.2 在map端簡單緩存、排序分組,在reduce端合并組合2226.7.3 在map端緩存中聚合、排序分組,在reduce端組合2226.8 小結(jié)223第7章 部署模式2247.1 local部署模式2257.2 local-cluster部署模式2257.2.1 localsparkcluster的啟動2267.2.2 coarsegrainedschedulerbackend的啟動2367.2.3 啟動appclient2377.2.4 資源調(diào)度2427.2.5 local-cluster模式的任務(wù)執(zhí)行2537.3 standalone部署模式2557.3.1 啟動standalone模式2557.3.2 啟動master分析2577.3.3 啟動worker分析2597.3.4 啟動driver application分析2617.3.5 standalone模式的任務(wù)執(zhí)行2637.3.6 資源回收2637.4 容錯機(jī)制2667.4.1 executor異常退出2667.4.2 worker異常退出2687.4.3 master異常退出2697.5 其他部署方案2767.5.1 yarn2777.5.2 mesos2807.6 小結(jié)282擴(kuò) 展 篇第8章 spark sql2848.1 spark sql總體設(shè)計2848.1.1 傳統(tǒng)關(guān)系型數(shù)據(jù)庫sql運行原理2858.1.2 spark sql運行架構(gòu)2868.2 字典表catalog2888.3 tree和treenode2898.4 詞法解析器parser的設(shè)計與實現(xiàn)2938.4.1 sql語句解析的入口2948.4.2 建表語句解析器ddlparser2958.4.3 sql語句解析器sqlparser2968.4.4 spark代理解析器sparksqlparser2998.5 rule和ruleexecutor3008.6 analyzer與optimizer的設(shè)計與實現(xiàn)3028.6.1 語法分析器analyzer3048.6.2 優(yōu)化器optimizer3058.7 生成物理執(zhí)行計劃3068.8 執(zhí)行物理執(zhí)行計劃3088.9 hive3118.9.1 hive sql語法解析器3118.9.2 hive sql元數(shù)據(jù)分析3138.9.3 hive sql物理執(zhí)行計劃3148.10 應(yīng)用舉例:javasparksql3148.11 小結(jié)320第9章 流式計算3219.1 spark streaming總體設(shè)計3219.2 streamingcontext初始化3239.3 輸入流接收器規(guī)范receiver3249.4 數(shù)據(jù)流抽象dstream3259.4.1 dstream的離散化3269.4.2 數(shù)據(jù)源輸入流inputdstream3279.4.3 dstream轉(zhuǎn)換及構(gòu)建dstream graph3299.5 流式計算執(zhí)行過程分析3309.5.1 流式計算例子customreceiver3319.5.2 spark streaming執(zhí)行環(huán)境構(gòu)建3359.5.3 任務(wù)生成過程3479.6 窗口操作3559.7 應(yīng)用舉例3579.7.1 安裝mosquitto3589.7.2 啟動mosquitto3589.7.3 mqttwordcount3599.8 小結(jié)361第10章 圖計算36210.1 spark graphx總體設(shè)計36210.1.1 圖計算模型36310.1.2 屬性圖36510.1.3 graphx的類繼承體系36710.2 圖操作36810.2.1 屬性操作36810.2.2 結(jié)構(gòu)操作36810.2.3 連接操作36910.2.4 聚合操作37010.3 pregel api37110.3.1 dijkstra算法37310.3.2 dijkstra的實現(xiàn)37610.4 graph的構(gòu)建37710.4.1 從邊的列表加載graph37710.4.2 在graph中創(chuàng)建圖的方法37710.5 頂點集合抽象vertexrdd37810.6 邊集合抽象edgerdd37910.7 圖分割38010.8 常用算法38210.8.1 網(wǎng)頁排名38210.8.2 connected components的應(yīng)用38610.8.3 三角關(guān)系統(tǒng)計38810.9 應(yīng)用舉例39010.10 小結(jié)391第11章 機(jī)器學(xué)習(xí)39211.1機(jī)器學(xué)習(xí)概論39211.2 spark mllib總體設(shè)計39411.3 數(shù)據(jù)類型39411.3.1 局部向量39411.3.2標(biāo)記點39511.3.3局部矩陣39611.3.4分布式矩陣39611.4基礎(chǔ)統(tǒng)計39811.4.1摘要統(tǒng)計39811.4.2相關(guān)統(tǒng)計39911.4.3分層抽樣40111.4.4假設(shè)檢驗40111.4.5隨機(jī)數(shù)生成40211.5分類和回歸40511.5.1數(shù)學(xué)公式40511.5.2線性回歸40711.5.3分類40711.5.4回歸41011.6決策樹41111.6.1基本算法41111.6.2使用例子41211.7隨機(jī)森林41311.7.1基本算法41411.7.2使用例子41411.8梯度提升決策樹41511.8.1基本算法41511.8.2使用例子41611.9樸素貝葉斯41611.9.1算法原理41611.9.2使用例子41811.10保序回歸41811.10.1算法原理41811.10.2使用例子41911.11協(xié)同過濾41911.12聚類42011.12.1k-means42011.12.2高斯混合42211.12.3快速迭代聚類42211.12.4latent dirichlet allocation42211.12.5流式k-means42311.13維數(shù)減縮42411.13.1奇異值分解42411.13.2主成分分析42511.14特征提取與轉(zhuǎn)型42511.14.1術(shù)語頻率反轉(zhuǎn)42511.14.2單詞向量轉(zhuǎn)換42611.14.3標(biāo)準(zhǔn)尺度42711.14.4正規(guī)化尺度42811.14.5卡方特征選擇器42811.14.6hadamard積42911.15頻繁模式挖掘42911.16預(yù)言模型標(biāo)記語言43011.17管道43111.17.1管道工作原理43211.17.2管道api介紹43311.17.3交叉驗證43511.18小結(jié)436附錄a utils437附錄b akka446附錄c jetty450附錄d metrics453附錄e hadoop word count456附錄f commandutils458附錄g netty461附錄h 源碼編譯錯誤465
展開全部

深入理解Spark核心思想與源碼分析 相關(guān)資料

伴隨著互聯(lián)網(wǎng)的不斷演進(jìn),人類所面臨的數(shù)據(jù)在體量,產(chǎn)生速度和多樣性方面階躍性發(fā)展,隨之而來的是數(shù)據(jù)計算和處理方式的多樣化,目前越來越多的數(shù)據(jù)處理鏈路是通過多種計算組合而成,例如批量與流式計算,圖計算,交互式查詢等。而以往幾個獨立計算系統(tǒng)“物理”拼裝組合成的復(fù)雜系統(tǒng)在處理這些問題時,往往在成本和效率上產(chǎn)生瓶頸。spark從迭代計算的數(shù)據(jù)復(fù)用切入,底層一個runtime來支撐多種計算模型,越來越受到業(yè)界的重視,社區(qū)發(fā)展非常迅速。而本書從源碼分析角度深入剖析系統(tǒng),希望讀者不僅做到知其然,更要知其所以然,對spark有更加深入的研究。本書作者在相關(guān)領(lǐng)域有多年豐富的實踐和應(yīng)用經(jīng)驗,相信通過研讀本書必定可以給讀者帶來事半功倍的效果。   ——強(qiáng)琦 阿里云計算平臺資深技術(shù)專家   這是一本不錯的spark的入門書籍,完全從工程師的視角出發(fā),從安裝到使用再到高階應(yīng)用。有些時候甚至有些啰嗦,但這不正是我們讀者需要的么?作者用他專一的一線工程師視角與在阿里面臨的場景結(jié)合,寫作的落筆相當(dāng)接地氣。這是一本難得的工程師參考用書。   ——張茂森 阿里巴巴商家業(yè)務(wù)事業(yè)部資深數(shù)據(jù)挖掘?qū)<?

深入理解Spark核心思想與源碼分析 作者簡介

耿嘉安,10年IT行業(yè)相關(guān)經(jīng)驗。就職于阿里巴巴商家業(yè)務(wù)事業(yè)部,任資深Java工程師,專注于開源和大數(shù)據(jù)領(lǐng)域,目前與小伙伴們基于ODPS構(gòu)建阿里的大數(shù)據(jù)商業(yè)解決方案——御膳房。在大量的工作實踐中,對J2EE、JVM、Tomcat、Spring、Hadoop、Spark、MySQL、Redis都有深入研究,尤其喜歡剖析開源項目的源碼實現(xiàn)。早期從事J2EE企業(yè)級應(yīng)用開發(fā),對Java相關(guān)技術(shù)有獨到見解。業(yè)余時間喜歡研究中國古代歷史,古詩詞,旅游,足球等。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服