Spark中RDD与DataFrame与DataSet的区别与联系

1.概述

这是一个面试题

  1. 在Spark中,DataFrame是一种以RDD为基础的分布式数据集,类似传统数据库中的二维表格
  2. DataFrame与RDD的主要区别在于,前者带有schema元数据信息,既DataFram所表示的二维数据集的每一列都带有名称和类型
  3. 而RDD,由于无从得知所存储数据元素的具体内部结构,Spark Core只能在stage层面进行简单,通用的流水线优化。

这里写图片描述

2.例子说明

下面创建一个RDD

这里写图片描述

创建一个DataFrame

这里写图片描述

可以看到DataFram是有schema的。

总结RDD是可以知道返回对象是什么,DataFrame是知道返回的具体的属性数据类型是什么。而DataSet是综合了两个的优点。

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/80487894