SparkSql------RDD、DataFrame、DataSet

本文详细介绍了Spark中的RDD、DataFrame和Dataset。RDD是懒执行的不可变数据集合,DataFrame在RDD基础上增加了Schema,类似数据库表格,性能优于RDD。Dataset是DataFrame的扩展,支持类型安全和查询优化,提供了更友好的API。三者皆为Spark的分布式数据集,具有惰性机制、自动缓存、分区等特性,且DataFrame和Dataset支持SQL操作。
摘要由CSDN通过智能技术生成

RDD

RDD是一个懒执行的不可变的可以支持Functional(函数式编程)的并行数据集合。

RDD的最大好处就是简单,API的人性化程度很高。

RDD的劣势是性能限制,它是一个JVM驻内存对象,这也就决定了存在GC的限制和数据增加时Java序列化成本的升高。

DataFrame

简单来说DataFrame是RDD+Schema的集合

什么是Schema?

之前我们学习过MySQL数据库,在数据库中schema是数据库的组织和结构模式中包含了schema对象,可以是(table)、(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等,Sechema代表的就是一张表

与RDD类似,DataFrame也是一个分布式数据容器。然而DataFrame更像传统数据库的二维表格,除了数据以外,还记录数据的结构信息,即schema。同时,与Hive类似,DataFrame也支持嵌套数据类型(struct、array和map)。从API易用性的角度上看,DataFrame API提供的是一套高层的关系操作,比函数式的RDD API要更加友好,门槛更低。由于与R和Pandas的DataFrame类似,Spark DataFrame很好地继承了传统单机数据分析的开发体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值