主页 > 新闻资讯 > 大数据学习:Spark DataFrame全解析

大数据学习:Spark DataFrame全解析

作者:张老师 浏览次数: 2020-11-30 16:59
之前我们已经对Spark当中重要的数据抽象概念RDD作为详细的介绍,但是在Spark框架下,RDD之外,还有基于RDD的DataFrame数据抽象,在底层运算当中,DataFrame也需要深入理解。今天的大数据学习,我们就来对Spark 当中的DataFrame,做个全面的解析。

大数据学习:Spark DataFrame全解析

一、DataFrame特点

DataFrames和Datasets是spark中结构化数据的主要抽象形式。其中,DataFrames将结构化数据以表格形式表示,DataFrames类似于RDBMS中的表格。

DataFrames由一组松散类型的行对象组成,行包含一组有序的值,他们通过schema被描述为列,每个DataFrame都有一个对应的schema,schmea定义了列的名称和类型。列的类型可以是基础类型(integers,strings,floats)或者组合类型(Arrays,lists)。

二、DataFrame创建

创建一个DataFrame对象,通常来说有三种方法,使用toDF方法,使用createDataFrame方法和通过读文件的直接创建DataFrame。

1、使用toDF方法创建DataFrame对象

使用toDF方法,我们可以将本地序列(Seq),列表或者RDD转为DataFrame。只要这些数据的内容能指定数据类型即可。

2、使用createDataFrame方法创建DataFrame对象

这一种方法比较繁琐,通过row+schema创建DataFrame。由于比较繁琐,所以实际工作中用到的频率比较少,大家了解一下就好。

3、通过文件直接创建DataFrame对象

常见的通过文件创建DataFrame,包括通过JSON、CSV文件、MySQl和Hive表等。

创建Spark的DataFrame的几种方式,在实际的工作中,最为常用的就是从Hive中读取数据,其次就可能是把RDD通过toDF的方法转换为DataFrame。

三、DataFrame操作

DataFrame与RDD相同之处,都是不可变分布式弹性数据集。不同之处在于,DataFrame的数据集都是按指定列存储,即结构化数据,类似于传统数据库中的表。

DataFrame的设计是为了让大数据处理起来更容易。DataFrame允许开发者把结构化数据集导入DataFrame,并做了higher-level的抽象;DataFrame提供特定领域的语言(DSL)API来操作你的数据集。

关于大数据学习,Spark DataFrame全解析,以上就为大家做了大致的讲解了。在Spark当中,DataFrame是非常重要的数据抽象,在实际的编程任务当中,大部分操作都涉及到RDD和DataFrame的转换,掌握好了对编程开发至关重要。成都加米谷大数据,专业大数据培训机构,大数据开发,数据分析与挖掘,本月正在招生中,课程大纲及试学视频,可联系客服领取!
热点排行
推荐文章
立即申请>>