1 回答

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
RDD、DataFrame和DataSet是容易產(chǎn)生混淆的概念,必須對(duì)其相互之間對(duì)比,才可以知道其中異同。
RDD和DataFrame
RDD-DataFrame
上圖直觀地體現(xiàn)了DataFrame和RDD的區(qū)別。左側(cè)的RDD[Person]雖然以Person為類型參數(shù),但Spark框架本身不了解
Person類的內(nèi)部結(jié)構(gòu)。而右側(cè)的DataFrame卻提供了詳細(xì)的結(jié)構(gòu)信息,使得Spark
SQL可以清楚地知道該數(shù)據(jù)集中包含哪些列,每列的名稱和類型各是什么。DataFrame多了數(shù)據(jù)的結(jié)構(gòu)信息,即schema。RDD是分布式的
Java對(duì)象的集合。DataFrame是分布式的Row對(duì)象的集合。DataFrame除了提供了比RDD更豐富的算子以外,更重要的特點(diǎn)是提升執(zhí)行效
率、減少數(shù)據(jù)讀取以及執(zhí)行計(jì)劃的優(yōu)化,比如filter下推、裁剪等。
- 1 回答
- 0 關(guān)注
- 730 瀏覽
添加回答
舉報(bào)