廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請前往微信添加好友
打開微信
圖片

行業(yè)新聞

什么是RDD

發(fā)布時(shí)間: 2023-04-18

RDD,彈性分布式數(shù)據(jù)集。它是一種數(shù)據(jù)的集合,它可以被分區(qū),每一個(gè)分區(qū)分布在不同的集群中節(jié)點(diǎn),從而使得RDD可以被并行處理,RDD?提供容錯(cuò)性,它將計(jì)算轉(zhuǎn)換一個(gè)成一個(gè)有向無環(huán)圖(DAG)的任務(wù)集合,方便利用血緣關(guān)系進(jìn)行數(shù)據(jù)恢復(fù),中間計(jì)算結(jié)果緩存在內(nèi)存。

二 RDD與MapReduce比較

2.1 迭代計(jì)算

MapReduce在進(jìn)行迭代計(jì)算的時(shí)候,都需要讀寫磁盤,如果涉及到多個(gè)作業(yè)流程,那么意味著多次讀寫HDFS,所以MapReduce在迭代式計(jì)算的時(shí)候,會(huì)進(jìn)行大量的磁盤I/O操作

RDD: RDD會(huì)將計(jì)算轉(zhuǎn)換成一個(gè)DAG的任務(wù)集,每次處理完后的數(shù)據(jù)緩存到內(nèi)存中,并且可以作為下一次計(jì)算的輸入數(shù)據(jù),所以只需要一次讀寫操作,避免了大量的I/O操作

2.2 容錯(cuò)機(jī)

基于YARN的MapReduce的Task執(zhí)行過程產(chǎn)生異常和和JVM的意外終止,會(huì)匯報(bào)給Application Master,任務(wù)失敗一次,并不意味著任務(wù)的完全失敗,它有重試機(jī)制,當(dāng)達(dá)到重試次數(shù)限制還沒有成功,則認(rèn)為該任務(wù)運(yùn)行失敗

如果ApplicationMaster失敗,那么Resource Manager進(jìn)行失敗檢測然后重新啟動(dòng)一個(gè)新的Container,然后在這個(gè)Container中啟動(dòng)新的Application Master進(jìn)程。對于新創(chuàng)建的Application Master,它能夠檢測到之前失敗的Application Master已經(jīng)運(yùn)行完成的任務(wù),因此,新的Application Master無需重頭開始已經(jīng)執(zhí)行過的任務(wù)。

RDD: 有兩種容錯(cuò)方式,數(shù)據(jù)檢查點(diǎn)和記錄數(shù)據(jù)的更新。

面向大規(guī)模數(shù)據(jù)分析,數(shù)據(jù)檢查點(diǎn)操作成本很高,需要通過數(shù)據(jù)中心的網(wǎng)絡(luò)連接在機(jī)器之間復(fù)制龐大的數(shù)據(jù)集,而網(wǎng)絡(luò)帶寬往往比內(nèi)存帶寬低得多,同時(shí)還需要消耗更多的存儲(chǔ)資源。

?

上一篇: Oracle數(shù)據(jù)庫控制臺(tái)常用命令

下一篇: Java線程的狀態(tài)

<
在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優(yōu)質(zhì)服務(wù)!