导读:上一期介绍了Spark最重要的数据抽象RDD,相比RDD,DataFrame增加了scheme概念,从这个角度看,DataFrame有点类似于关系型数据库中表的概念。本章来具体讲解DataFrame的特点、创建和使用。
本文经授权转自公众号DLab数据实验室作者 |小舰出品 | DLab数据实验室(ID:rucdlab)
数据抽象
DataFrame
1.DataFrame特点
DataFrames和Datasets是spark中结构化数据的主要抽象形式。
DataFrames将结构化数据以表格形式表示
DataFrames类似于RDBMS中的表格
DataFrames由一组松散类型的行对象组成
行包含一组有序的值,他们通过schema被描述为列,每个DataFrame都有一个对应的schema, schmea定义了列的名称和类型。
列的类型可以是基础类型(integers,strings,floats)或者组合类型(Arrays, lists)
Datasets将数据表示为指定类型的对象的集合
Datasets是强类型的,在编译时就将强制进行类型检查,而不是等到运行时间
schema将对象属性映射为表的行和列
数据集仅在Scala和Java中定义
DataFrame是Dataset [Row]的别名,他是包含Row的数据集
可以根据下图对比RDD与DataFrame数据结构的差别:
二、DataFrame创建
三、DataFrame操作
DataFrame的操作非常丰富,看下面三个表所列的操作,在业务处理的时候可以根据需求选用以下的方法进行数据处理。
1.Action操作
2.DataFrame操作
3.结构化查询
DataFrame非常类似我们数据库重的表,可以在DataFrame上进行很多SQL类的操作。
以上就是Spark最重要的数据抽象之一DataFrame的介绍。至此,我们已经把Spark最重要的两个数据抽象类型RDD和DataFrame都讲解完了。在实际的编程中,大部分操作都是涉及对这两个数据抽象的转换,所以熟练运用对于进行大数据编程至关重要。下一期,将开始介绍Spark内核相关的内容,敬请期待。
●Spark原理与实战--数据抽象RDD(四)
●Spark原理与实战--GraphX图查询(三)
●Spark原理与实战--SparkStreaming流处理(二)
●Spark原理与实战--环境搭建及WordCount(一)
●Spark数据倾斜解决方案实战(二)
●Spark数据倾斜解决方案实战(一)
●大数据计算生态之数据计算(二)
●大数据计算生态之数据计算(一)
●大数据计算生态之数据存储
文章都看完了不点个吗
欢迎点赞、在看、分享三连哦~~
如果觉得《创建dataframe_Spark原理与实战(五) Spark核心数据抽象DataFrame》对你有帮助,请点赞、收藏,并留下你的观点哦!