一拓颓、Spark第一代api:RDD
RDD:五大核心特征:
QQ圖片20160602195119.png
二、Spark第二代API:DataFrame
DataFrame核心特征:
*包含了已ROW為單位的每行數(shù)據(jù)的列的信息描孟,此時DataFrame就是Table驶睦;
*Tungsten:新的執(zhí)行引擎
*Catalyst:新的語法解析框架
提升計算效率、減少數(shù)據(jù)讀取匿醒、底層計算優(yōu)化场航;
三、Spark第三代API:DataSet
DataSet的核心價值和好處:Encoder
*編譯時的類型安全檢查廉羔,不需要在執(zhí)行時期才發(fā)現(xiàn)類型不匹配溉痢;
*性能極大的提升
*內存使用極大降低、減少GC...
*極大的減少網(wǎng)絡數(shù)據(jù)的傳輸...
*極大的減少采用scala和java變成代碼的差異性...
補充:
1、DataSet會同時可以兼顧Functional和Relational Programming;
2孩饼、DataSet可以統(tǒng)一流計算髓削、SQL、ML等的API編程镀娶;
3立膛、DataSet最最重要的是效率;底層Tungsten的優(yōu)化汽畴、Encoder旧巾、數(shù)據(jù)在內存和磁盤的存儲等等;