**
RDD DataSet 和 Dataframe 的 区别
**
首先从版本产生的来看
RDD(Spark1.0)—> Dataframe(Spark 1.3)—>DataSet(Spark 1.6)
同样的数据都给到这三个数据结构,他们分别计算之后,都会给出相同的结果
不同的是他们的执行效率和执行方式
下面我们先来了解一下这三个数据结构
1 RDD
RDD 是一个lazy的不可变的可以支持函数调用的并行数据集合
RDD 的最大的好处就是简单, API的人性化程度高
RDD 劣势是性能限制,它是一个JVM 驻内存对象,这也决定了存在GC的限制和数据增加时java
序列化成本的升高
2 Dataframe
是一个分布式数据容器,除了数据外,还记录数据的结构与信息,
即 Schema,与Hive 类似,也支持嵌套数据类型,
SparkDataFrame 很好的继承了传统的单机数据分析的开发的体验
RDD 和 Dataframe 比较
RDD 是分布式的 java 对象的集合,DataFrame 是分布式 Row 的集合
DataFram 除了提供了比 RDD 更丰富的算子以外,更重要的特点是
提升执行效率,减少数据读取以及执行计划的优化&#