7.Spark SQL

发布时间:2022-06-25 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了7.Spark SQL脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
未交原因:忘记交了
 
1.请分析SparkSQL出现的原因,并简述SparkSQL的起发展

spark出现的目的是为了替代Mapreduce,解决MaPReduce计算短板。我们知道最初的计算框架叫 mapreduce,他的缺点是计算速度慢,还有一个就是代码比较麻烦,所以有了 hive;hive 是把类 sql 的语句转换成 mapreduce,解决了开发难的问题,但是 hive 的底层还是 mapreduce,仍然是慢;spark 也看到了 hive 的优势,以 hive 为中心的一套框架 shark 营运而生,它是 spark 的前身,h 就是 hive 的意思;但是 为了 提高 shark 的效率,spark 自己开发了一套算法,替代了之前 hive 的思路,这套算法就是 sparkSQL。

 

2. 简述RDD 和DataFrame的联系与区别?

RDD 和 DataFrame 都是Spark平台对数据的一种抽象,一种组织方式,但是两者的地位或者说设计目的却截然不同。RDD 是整个 Spark 平台的存储、计算以及任务调度的逻辑基础,更具有通用性,适用于各类数据源,而 DataFrame 是只针对结构化数据源的高层数据抽象,其中在 DataFrame 对象的创建过程中必须指定数据集的结构信息( Schema ),所以 DataFrame 生来便是具有专用性的数据抽象,只能读取具有鲜明结构的数据集。

 

3.DataFrame的创建

spark.read.text(url)

7.Spark SQL

spark.read.format("text").load("PEople.txt")

7.Spark SQL

 

 4. PySpark-DataFrame各种常用操作

基于DF的操作:

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

7.Spark SQL

 

打印概要 df.printSchema()

 

7.Spark SQL

 

查询总行数 df.count()

7.Spark SQL

 

 

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

7.Spark SQL

 

 

输出全部行 df.collect() #list类型,list中每个元素是Row类

7.Spark SQL

 

 

查询概况 df.describe().show()

7.Spark SQL

 

 

取列 df[‘name’], df.name, df[1]

7.Spark SQL

 

 

选择 df.select() 每个人的年龄+1

7.Spark SQL

 

 

筛选 df.filter() 20岁以上的人员信息

7.Spark SQL

 

 

筛选年龄为空的人员信息

7.Spark SQL

 

 

分组df.groupBy() 统计每个年龄的人数

7.Spark SQL

 

 

排序df.sortBy() 按年龄进行排序

7.Spark SQL

 

 

基于spark.sql的操作:

创建临时表虚拟表 df.registerTempTable('people')

spark.sql执行SQL语句 spark.sql('select name From people').show()

   

7.Spark SQL

 

 

 

 

5. Pyspark中DataFrame与pandas中DataFrame

分别从文件创建DataFrame 

7.Spark SQL

pandas中DataFrame转换为Pyspark中DataFrame、

7.Spark SQL

 

 

 

 

Pyspark中DataFrame转换为pandas中DataFrame 

7.Spark SQL

 

 

 

 

从创建与操作上,比较两者的异同

 

 

 

 

7.Spark SQL

 

 

 

6.从RDD转换得到DataFrame

6.1 利用反射机制推断RDD模式

创建RDD sc.textFile(url).map(),读文件,分割数据项

7.Spark SQL

 

7. DataFrame的保存

7.Spark SQL

7.Spark SQL

 

 

 

7.Spark SQL

 

脚本宝典总结

以上是脚本宝典为你收集整理的7.Spark SQL全部内容,希望文章能够帮你解决7.Spark SQL所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。