什么是 Spark? | 您所在的位置:網(wǎng)站首頁(yè) › 屬鼠的和屬虎的婚姻般配嗎男人 › 什么是 Spark? |
Hadoop MapReduce 是一種用于處理大數(shù)據(jù)集的編程模型,它采用并行的分布式算法。開發(fā)人員可以編寫高度并行化的運(yùn)算符,而不用擔(dān)心工作分配和容錯(cuò)能力。不過(guò),MapReduce 所面對(duì)的一項(xiàng)挑戰(zhàn)是它要通過(guò)連續(xù)多步驟流程來(lái)運(yùn)行某項(xiàng)作業(yè)。在每個(gè)步驟中,MapReduce 要讀取來(lái)自集群的數(shù)據(jù),執(zhí)行作,并將結(jié)果寫到 HDFS。因?yàn)槊總€(gè)步驟都需要磁盤讀取和寫入,磁盤 I/O 的延遲會(huì)導(dǎo)致 MapReduce 作業(yè)變慢。 開發(fā) Spark 的初衷就是為了突破 MapReduce 的這些限制,它可以執(zhí)行內(nèi)存中處理,減少作業(yè)中的步驟數(shù)量,并且跨多項(xiàng)并行作對(duì)數(shù)據(jù)進(jìn)行重用。借助于 Spark,將數(shù)據(jù)讀取到內(nèi)存、執(zhí)行作和寫回結(jié)果僅需要一個(gè)步驟,大大地加快了執(zhí)行的速度。Spark 還能使用內(nèi)存中緩存顯著加快在相同數(shù)據(jù)集上重復(fù)調(diào)用某函數(shù)的機(jī)器學(xué)習(xí)算法的速度,進(jìn)而重新使用數(shù)據(jù)。數(shù)據(jù)重用通過(guò)在彈性分布式數(shù)據(jù)集 (RDD) 上創(chuàng)建數(shù)據(jù)抽象—DataFrames 得以實(shí)現(xiàn),而彈性分布式數(shù)據(jù)集是一個(gè)緩存在內(nèi)存中并在多項(xiàng) Spark 作中重新使用的對(duì)象集合。它大幅縮短了延遲,使 Spark 比 MapReduce 快數(shù)倍,在進(jìn)行機(jī)器學(xué)習(xí)和交互式分析時(shí)尤其明顯。 |
CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有 |