Spark分區(qū)數(shù)據(jù)放置方法研究與優(yōu)化
發(fā)布時(shí)間:2023-11-26 15:04
隨著社會(huì)的快速發(fā)展及進(jìn)步,人們的生活方式也由大數(shù)據(jù)時(shí)代的到來(lái)發(fā)生了巨大的變化,不但衍生出許多的新型行業(yè),也使大數(shù)據(jù)技術(shù)滲透到各行各業(yè)中,這不僅促進(jìn)了社會(huì)的高效發(fā)展也為人們的生活帶來(lái)了便捷,但與此同時(shí)所產(chǎn)生的海量數(shù)據(jù)如何進(jìn)行快速的處理也是不可忽視的問(wèn)題。據(jù)英特爾公司預(yù)測(cè),全球數(shù)據(jù)總量在2020年將達(dá)到44ZB,而中國(guó)產(chǎn)生的數(shù)據(jù)量將達(dá)到8ZB,大約占據(jù)全球總數(shù)據(jù)量的五分之一。所以現(xiàn)今需要處理的數(shù)據(jù)越來(lái)越多,迫切需要我們對(duì)海量的數(shù)據(jù)做出快速且有效的處理,而Spark作為快速的計(jì)算引擎已成為主流的大數(shù)據(jù)處理平臺(tái)。Spark的高效一方面依賴于內(nèi)存計(jì)算本質(zhì),另一方面與分區(qū)帶來(lái)的并行度有密切關(guān)系,但是在數(shù)據(jù)重復(fù)率較大的情況下,使用Spark默認(rèn)哈希分區(qū)算法處理數(shù)據(jù)時(shí),將導(dǎo)致每個(gè)分區(qū)中的數(shù)據(jù)量不均勻,并且在極端情況下,某些分區(qū)擁有RDD的全部數(shù)據(jù),所以分區(qū)的傾斜會(huì)導(dǎo)致大數(shù)據(jù)集群系統(tǒng)資源分布不均勻、作業(yè)執(zhí)行效率低下等問(wèn)題。本文的主要研究?jī)?nèi)容和工作集中在以下幾個(gè)方面:(1)設(shè)計(jì)并實(shí)現(xiàn)了優(yōu)化哈希分區(qū)的三種哈希分區(qū)器,分別為隨機(jī)數(shù)分區(qū)、隨機(jī)數(shù)+二次分配、相鄰位置三種分區(qū)方式,通過(guò)實(shí)驗(yàn)驗(yàn)證在對(duì)不做任何內(nèi)容要求的...
【文章頁(yè)數(shù)】:45 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
Abstract
1 引言
1.1 研究背景和意義
1.2 研究現(xiàn)狀分析
1.2.1 按照處理階段劃分方式
1.2.2 按照分區(qū)算法優(yōu)化劃分方式
1.3 研究目標(biāo)及內(nèi)容
1.4 論文組織結(jié)構(gòu)
1.5 本章小結(jié)
2 Spark原理簡(jiǎn)述
2.1 關(guān)于Spark和Hadoop的對(duì)比
2.1.1 架構(gòu)比較
2.1.2 性能比較
2.1.3 易用性比較
2.2 Spark架構(gòu)設(shè)計(jì)及運(yùn)行原理
2.2.1 Spark架構(gòu)設(shè)計(jì)
2.2.2 Spark運(yùn)行原理
2.3 RDD介紹
2.3.1 創(chuàng)建RDD方式
2.3.2 RDD依賴關(guān)系
2.4 shuffle介紹
2.5 本章小結(jié)
3 Spark分區(qū)數(shù)據(jù)放置優(yōu)化方案
3.1 Spark分區(qū)數(shù)據(jù)放置方案
3.1.1 HashPartition數(shù)據(jù)放置方案
3.1.2 RangePartition數(shù)據(jù)放置方案
3.2 HashPartitioner數(shù)據(jù)放置優(yōu)化方案
3.2.1 隨機(jī)數(shù)分區(qū)策略(R-HashPartitioner)
3.2.2 隨機(jī)數(shù)+二次分配策略(R-R-HashPartitioner)
3.2.3 相鄰位置策略(N-HashPartitioner)
3.3 本章小結(jié)
4 HashPartition數(shù)據(jù)放置優(yōu)化方案實(shí)現(xiàn)與驗(yàn)證
4.1 實(shí)驗(yàn)環(huán)境搭建
4.1.1 平臺(tái)環(huán)境
4.1.2 Hadoop平臺(tái)搭建
4.1.3 Spark集群搭建
4.2 Spark作業(yè)任務(wù)調(diào)度
4.3 實(shí)驗(yàn)環(huán)境
4.4 WordCount實(shí)驗(yàn)
4.4.1 算法執(zhí)行平均時(shí)間對(duì)比
4.4.2 算法執(zhí)行最好時(shí)間
4.4.3 算法執(zhí)行最差時(shí)間
4.5 PageRank實(shí)驗(yàn)
4.5.1 算法執(zhí)行平均時(shí)間
4.5.2 算法執(zhí)行最好時(shí)間
4.5.3 算法執(zhí)行最差時(shí)間
4.6 數(shù)據(jù)傾斜程度比較
4.7 本章小結(jié)
5 總結(jié)與展望
5.1 總結(jié)
5.2 展望
致謝
參考文獻(xiàn)
作者簡(jiǎn)介
本文編號(hào):3868011
【文章頁(yè)數(shù)】:45 頁(yè)
【學(xué)位級(jí)別】:碩士
【文章目錄】:
摘要
Abstract
1 引言
1.1 研究背景和意義
1.2 研究現(xiàn)狀分析
1.2.1 按照處理階段劃分方式
1.2.2 按照分區(qū)算法優(yōu)化劃分方式
1.3 研究目標(biāo)及內(nèi)容
1.4 論文組織結(jié)構(gòu)
1.5 本章小結(jié)
2 Spark原理簡(jiǎn)述
2.1 關(guān)于Spark和Hadoop的對(duì)比
2.1.1 架構(gòu)比較
2.1.2 性能比較
2.1.3 易用性比較
2.2 Spark架構(gòu)設(shè)計(jì)及運(yùn)行原理
2.2.1 Spark架構(gòu)設(shè)計(jì)
2.2.2 Spark運(yùn)行原理
2.3 RDD介紹
2.3.1 創(chuàng)建RDD方式
2.3.2 RDD依賴關(guān)系
2.4 shuffle介紹
2.5 本章小結(jié)
3 Spark分區(qū)數(shù)據(jù)放置優(yōu)化方案
3.1 Spark分區(qū)數(shù)據(jù)放置方案
3.1.1 HashPartition數(shù)據(jù)放置方案
3.1.2 RangePartition數(shù)據(jù)放置方案
3.2 HashPartitioner數(shù)據(jù)放置優(yōu)化方案
3.2.1 隨機(jī)數(shù)分區(qū)策略(R-HashPartitioner)
3.2.2 隨機(jī)數(shù)+二次分配策略(R-R-HashPartitioner)
3.2.3 相鄰位置策略(N-HashPartitioner)
3.3 本章小結(jié)
4 HashPartition數(shù)據(jù)放置優(yōu)化方案實(shí)現(xiàn)與驗(yàn)證
4.1 實(shí)驗(yàn)環(huán)境搭建
4.1.1 平臺(tái)環(huán)境
4.1.2 Hadoop平臺(tái)搭建
4.1.3 Spark集群搭建
4.2 Spark作業(yè)任務(wù)調(diào)度
4.3 實(shí)驗(yàn)環(huán)境
4.4 WordCount實(shí)驗(yàn)
4.4.1 算法執(zhí)行平均時(shí)間對(duì)比
4.4.2 算法執(zhí)行最好時(shí)間
4.4.3 算法執(zhí)行最差時(shí)間
4.5 PageRank實(shí)驗(yàn)
4.5.1 算法執(zhí)行平均時(shí)間
4.5.2 算法執(zhí)行最好時(shí)間
4.5.3 算法執(zhí)行最差時(shí)間
4.6 數(shù)據(jù)傾斜程度比較
4.7 本章小結(jié)
5 總結(jié)與展望
5.1 總結(jié)
5.2 展望
致謝
參考文獻(xiàn)
作者簡(jiǎn)介
本文編號(hào):3868011
本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/3868011.html
最近更新
教材專著