06 Spark SQL 及其DataFrame的基本操作

1.Spark SQL出现的 原因是什么?

  关系数据库已经流行多年,能较好的满足各类商业公司的业务数据管理需求,但关系数据库在大数据时代已经不能满足各种新增的用户需求。用户需要从不同数据源执行各种操作(包括结构化和非结构化数据),也需要执行高级分析(在实际大数据应用中,经常需要融合关系查询和复杂分析算法)。

  Spark SQL的出现,填补了这个鸿沟。首先,Spark SQL可以对内部和外部各种数据源执行各种关系操作;其次,可以支持大量的数据源和数据分析算法,有效地满足各种复杂的应用需求。

 

2.用spark.read 创建DataFrame

(1)从文件创建spark.read

(2)从RDD创建

 

3.观察从不同类型文件创建DataFrame有什么异同?

   (1)共同点:在创建Data Frame时,都可以使用spark.read操作,实现从不同类型的文件中加载数据创建DataFrame。

   (2)不同点:

  a. spark.read.text("people.txt"):读取文本文件people.txt

  b. spark.read.json("people.json"):读取JSON文件

  c. spark.read.parquet("people.parquet"):读取Parquet文件

 

4.观察Spark的DataFrame与Python pandas的DataFrame有什么异同?

   Pandas中DataFrame是可变的,而Spark中RDDs是不可变的,因此DataFrame也是不可变的。

 

Spark SQL DataFrame的基本操作

1.创建:

spark.read.text()

spark.read.json()

2.打印数据

df.show()默认打印前20条数据,df.show(n)

3.打印概要

df.printSchema()

4.查询总行数

df.count()

df.head(3) #list类型,list中每个元素是Row类

5.输出全部行

df.collect() #list类型,list中每个元素是Row类

6.查询概况

df.describe().show()

7.取列

df[‘name’]

df.name

df.select()

df.filter()

df.groupBy()

df.sort()

posted @ 2021-05-10 15:45  约翰克里斯朵夫  阅读(54)  评论(0编辑  收藏  举报