Spark之RDD与DataFrame的区别与理解

  • 1.RDD是Spark对于分布式数据模型的抽象,DF是带数据模式的结构化分布式数据集,类似于传统数据库中的一张表,RDD不带数据模式或者说是泛型的
  • 2.RDD API的执行引擎是Spark Core,其Spark Core的本质是负责任务的调度、计算、及存储;DF API优化引擎是SparkSQL,包括Catalyst执行过程优化和Tungsten数据结构优化。两者API的区别在于一个提供标量算子一个高阶算子和两者底层优化引擎不一致。
  • 3.之前子框架如Streaming,mlib,graph都是采用RDD API来编写,现在都是采用DF API来重新编写。
  • 4.调用DF API生成DF,但DF 的action算子触发执行后最终还是生成RDD,通过Spark Core框架来进行调度计算。DF API+SparkSQL代替之前的RDD API,目的就是为了提供更简单的API,让Spark做统一优化,在rdd计算时更高效.

你可能感兴趣的:(spark,spark)