99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2018-10-21 閱讀量: 1158
Spark RDD、DataFrame和DataSet的區(qū)別

RDD

優(yōu)點:

1. 編譯時類型安全,編譯時就能檢查出類型錯誤

2. 面向?qū)ο蟮木幊田L(fēng)格,直接通過類名點的方式來操作數(shù)據(jù)

缺點:

1. 序列化和反序列化的性能開銷,無論是集群間的通信, 還是IO操作都需要對對象的結(jié)構(gòu)和數(shù)據(jù)進(jìn)行序列化和反序列化.

2. GC的性能開銷,頻繁的創(chuàng)建和銷毀對象, 勢必會增加GC

DataFrame

DataFrame引入了schema和off-heap

? schema : RDD每一行的數(shù)據(jù), 結(jié)構(gòu)都是一樣的. 這個結(jié)構(gòu)就存儲在schema中. Spark通過schame就能夠讀懂?dāng)?shù)據(jù), 因此在通信和IO時就只需要序列化和反序列化數(shù)據(jù), 而結(jié)構(gòu)的部分就可以省略了。

? off-heap : 意味著JVM堆以外的內(nèi)存, 這些內(nèi)存直接受操作系統(tǒng)管理(而不是JVM)。Spark能夠以二進(jìn)制的形式序列化數(shù)據(jù)(不包括結(jié)構(gòu))到off-heap中, 當(dāng)要操作數(shù)據(jù)時, 就直接操作off-heap內(nèi)存. 由于Spark理解schema, 所以知道該如何操作。

off-heap就像地盤, schema就像地圖, Spark有地圖又有自己地盤了, 就可以自己說了算了, 不再受JVM的限制, 也就不再收GC的困擾了。

通過schema和off-heap, DataFrame解決了RDD的缺點, 但是卻丟了RDD的優(yōu)點。DataFrame不是類型安全的, API也不是面向?qū)ο箫L(fēng)格的。

DataSet

DataSet結(jié)合了RDD和DataFrame的優(yōu)點, 并帶來的一個新的概念Encoder

當(dāng)序列化數(shù)據(jù)時, Encoder產(chǎn)生字節(jié)碼與off-heap進(jìn)行交互, 能夠達(dá)到按需訪問數(shù)據(jù)的效果, 而不用反序列化整個對象. Spark還沒有提供自定義Encoder的API, 但是未來會加入.

0.0000
1
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子