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之后可以很自由的获得每一行的信息
文章转载自互联网IT信息,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




