Spark学习(八):Spark常用的数据模型概述

1. spark常用数据模型:

RDD、DataFrame、Dataset是spark中最常用的数据类型

2. 三种数据模型的共同特点:

1)RDD、DataFrame、Dataset全都是spark平台下的分布式弹性数据集,为处理超大型数据提供便利

2)三者都有惰性机制,在进行创建、转换,如filter方法时,不会立即执行,只有在遇到Action如reduce方式时,才开始运算。

3)三者都会根据spark的内存情况自动缓存运算,这样即使数据量很大,也不用担心会内存溢出

4)三者都有partition的概念

3. 三种数据模型的不同之处:

RDD:

1)RDD不支持sparksql操作

DataFrame:

1)与RDD和Dataset不同,DataFrame每一行的类型固定为Row,只有通过解析才能获取各个字段的值

2)DataFrame与Dataset均支持sparksql的操作,比如select,groupby之类,还能注册临时表/视窗,进行sql语句操作

Dataset:

1)Dataset和DataFrame拥有完全相同的成员函数,区别只是每一行的数据类型不同

2)Dataset中,每一行是什么类型是不一定的,在自定义了class之后可以很自由的获得每一行的信息

Spark学习(八):Spark常用的数据模型概述


相关推荐