面试准备-sparkSql

Spark RDD、DataFrame和DataSet的区别

Spark RDD、DataFrame和DataSet的区别

DataFrame = RDD + SCHEMA + (off-heap意味着JVM堆以外的内存, 这些内存直接受操作系统管理(而不是JVM)。Spark能够以二进制的形式序列化数据(不包括结构)到off-heap中, 当要操作数据时, 就直接操作off-heap内存. 由于Spark理解schema, 所以知道该如何操作)

DataFrame = DataSet[Row]

DataFrame 又是DataSet的一种

创建dataframe :

1
val dataframe = sc.createDataFrame(RowRDD,structType)

join 操作一定会产生宽依赖吗

如果RDD的每个分区最多只能被一个Child RDD的一个分区使用,则称之为narrow dependency;若多个Child RDD分区都可以依赖,则称之为wide dependency。