图解大数据|图解大数据 | Spark Dataframe/SQL大数据处理分析
文章图片
作者:韩信子@ShowMeAI
教程地址:http://www.showmeai.tech/tutorials/84
本文地址:http://www.showmeai.tech/article-detail/175
声明:版权所有,转载请联系平台与作者并注明出处
1.Spark Dataframe 简介
在高版本的Spark中,我们可以使用Dataframe这个结构形态更方便快捷地对数据进行处理,而且它也和我们熟悉的python pandas Dataframe的很多操作可以类比关联。
DataFrame是一个以命名列方式组织的分布式数据集。在概念上,它跟关系型数据库中的一张表或者1个Python(或者R)中的data frame一样,但是进行了一些优化。DataFrame可以根据结构化的数据文件、hive表、外部数据库或者已经存在的RDD构造。
文章图片
文章图片
根据官方文档的解释,我们可以发现 Spark DataFrame 有以下几个核心点:
- 分布式的数据集
- 与关系型数据库中的table、excel 里的一张 sheet、python/R 里的 DataFrame等类似
- 拥有丰富的操作函数,类似于 RDD 中的算子
- 一个 DataFrame 可以被注册成一张数据表,然后用 SQL 语言在上面操作
- 丰富的创建方式:结构化数据文件、Hive表、外部数据库、已有的RDD
- 从KB到PB级的数据量支持
- 多种数据格式和多种存储系统支持
- 通过Spark SQL 的 Catalyst 优化器进行先进的优化,生成代码
- 通过Spark无缝集成所有大数据工具与基础设施
- 为Python、Java、Scala和R语言(SparkR)API
文章图片
2)Spark生态及DataFrame所处位置
文章图片
文章图片
2.DataFrame 创建方式 1)创建DataFrame的数据源 Spark SQL,DataFrame,datasets 共用 Spark SQL 库,三者共享同样的代码优化、生成以及执行流程,所以 SQL,DataFrame,datasets 的入口都是 SQLContext。
文章图片
2)创建DataFrame的步骤 以python代码(pyspark)为例,我们在创建spark Dataframe之前,需要先初试化Sparksession。
文章图片
- 获取数据集与代码 → ShowMeAI的官方GitHub https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets
- 运行代码段与学习 → 在线编程环境 http://blog.showmeai.tech/python3-compiler
文章图片
- 获取数据集与代码 → ShowMeAI的官方GitHub https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets
- 运行代码段与学习 → 在线编程环境 http://blog.showmeai.tech/python3-compiler
文章图片
- 获取数据集与代码 → ShowMeAI的官方GitHub https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets
- 运行代码段与学习 → 在线编程环境 http://blog.showmeai.tech/python3-compiler
文章图片
- 获取数据集与代码 → ShowMeAI的官方GitHub https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets
- 运行代码段与学习 → 在线编程环境 http://blog.showmeai.tech/python3-compiler
文章图片
- 获取数据集与代码 → ShowMeAI的官方GitHub https://github.com/ShowMeAI-Hub/awesome-AI-cheatsheets
- 运行代码段与学习 → 在线编程环境 http://blog.showmeai.tech/python3-compiler
文章图片
1)Agg 可以通过agg操作对spark Dataframe的数据进行聚合统计。
文章图片
2)Alias Alias操作主要是对spark Dataframe的字段进行重命名操作。
文章图片
3)Cache cache用于对数据持久化,对应操作下的数据,不会在spark计算过程中反复计算。
文章图片
4)Collect collect操作会把数据直接把数据取回内存,以python列表形态返回。
文章图片
5)Columns 可以通过columns操作获取字段名称列表。
文章图片
6)Corr 对于数据的统计计算,比如相关性可以通过corr操作完成。
文章图片
7)Count 可以通过count操作完成Dataframe数据的计数统计。
文章图片
8)Describe 我们通过describe函数可以查看Dataframe数据的基本统计信息。
文章图片
9)Distinct 如果要对Dataframe数据进行虑重操作,可以使用distinct算子操作。
文章图片
10)Drop 删除数据或者字段都可以通过drop算子完成。
文章图片
11)Dropna dropna可以帮助我们剔除掉数据中的缺失值记录或者字段。
文章图片
12)Fillna 我们可以通过fillna来填充Dataframe缺失值。
文章图片
13)Filter 我们可以通过filter操作对spark Dataframe的数据进行条件过滤。
文章图片
14)First first可以取出spark Dataframe的第1条数据记录并返回。
文章图片
15)FlatMap Spark Dataframe中的flatmap和RDD中的操作类似,也可以帮助我们把数据变换并平铺返回。
文章图片
16)Head 可以通过head操作返回前n条数据记录。
文章图片
17)Groupby 对于Spark Dataframe大数据的分组可以通过groupby完成
文章图片
文章图片
18)Join 我们通过Join操作对Spark Dataframe的不同数据表进行连接聚合。
文章图片
19)OrderBy 可以通过orderby对spark Dataframe数据进行排序操作。
【图解大数据|图解大数据 | Spark Dataframe/SQL大数据处理分析】
文章图片
4.Spark SQL 操作
- 《更多资料 → 数据科学工具速查 | Spark使用指南(SQL版)》
文章图片
2)案例详解
文章图片
文章图片
文章图片
文章图片
文章图片
5.参考资料
- 数据科学工具速查 | Spark使用指南(RDD版) http://www.showmeai.tech/article-detail/106
- 数据科学工具速查 | Spark使用指南(SQL版) http://www.showmeai.tech/article-detail/107
- 纪涵,靖晓文,赵政达 著,Spark SQL入门与实践指南,清华大学出版社,2018
- MICK(作者)孙淼(译者) ,SQL基础教程 第2版,人民邮电出版社,2017
- SparkSQL官方文档中文版,http://spark.apachecn.org/docs/cn/2.2.0/sql-programming-guide.html
- 图解大数据 | 导论:大数据生态与应用
- 图解大数据 | 分布式平台:Hadoop与Map-reduce详解
- 图解大数据 | 实操案例:Hadoop系统搭建与环境配置
- 图解大数据 | 实操案例:应用map-reduce进行大数据统计
- 图解大数据 | 实操案例:Hive搭建与应用案例
- 图解大数据 | 海量数据库与查询:Hive与HBase详解
- 图解大数据 | 大数据分析挖掘框架:Spark初步
- 图解大数据 | Spark操作:基于RDD的大数据处理分析
- 图解大数据 | Spark操作:基于Dataframe与SQL的大数据处理分析
- 图解大数据 | 综合案例:使用spark分析美国新冠肺炎疫情数据
- 图解大数据 | 综合案例:使用Spark分析挖掘零售交易数据
- 图解大数据 | 综合案例:使用Spark分析挖掘音乐专辑数据
- 图解大数据 | 流式数据处理:Spark Streaming
- 图解大数据 | Spark机器学习(上)-工作流与特征工程
- 图解大数据 | Spark机器学习(下)-建模与超参调优
- 图解大数据 | Spark GraphFrames:基于图的数据分析挖掘
- 图解Python编程:从入门到精通系列教程
- 图解数据分析:从入门到精通系列教程
- 图解AI数学基础:从入门到精通系列教程
- 图解大数据技术:从入门到精通系列教程
文章图片
推荐阅读
- c语言|C语言——数据的存储
- 第l个数到第r个数中第K大的数是哪个———蓝桥杯
- 图解大数据|图解大数据 | 基于Spark RDD的大数据处理分析
- Linux|Linux CentOS7.X-安装mysql5.7数据库(安装包tar.gz)
- 在table列表中通过按钮移除某条数据
- 图解大数据 | 大数据分析挖掘-Spark初步
- altium|【AD】Altium designer2020大学阶段快速入门(一)
- 图解大数据|图解大数据 | 海量数据库查询-Hive与HBase详解
- 图解大数据 | 实操案例-Hive搭建与应用案例
- 图解大数据|图解大数据 | 实操案例-MapReduce大数据统计