ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spark学习:如何在DataFrame上做数据处理?

2022-02-09 21:03:01  阅读:187  来源: 互联网

标签:类算子 val sql DataFrame RDD 算子 数据处理 Spark


对于在DataFrame上的数据处理,SparkSql支持两种:一类是Sql;另一类是DataFrame开发算子
一、Sql语句
对于任意的DataFrame,都可以使用createTempView(生命周期仅限于SparkSession)或createGlobalTempView(可以跨SparkSession)创建临时表,之后在临时表上用sql语句进行灵活地增删改查
eg:

import org.apache.spark.sql.DataFrame
val seq:Seq[(String,Int)] =Seq(("nie",16),("zhu",18),("bing",20))
//把列表转换为DataFrame
val dfseq:DataFrame = seq.toDF("name","age")
//使用createTempView创建临时表
dfseq.createTempView("t")
//定义查询语句
val query:String = "select * from t"
//使用Spark.sql的API执行查询语句,得到的查询结果被封装成新的DataFrame
val result:DataFrame = spark.sql(query)
result.show

二、DataFrame算子
DataFrame具有双面性;一方面,DataFrame来源于RDD,与RDD具有同源性,RDD支持的大部分算子,DataFrame都支持;另一方面,DataFrame携带的是结构化数据,因此,它必须提供一套与结构化查询同源的计算算子
1、RDD同源类算子
这里暂不做介绍
2、探索类算子(在于帮助开发者初步了解并认识数据),比如数据的模式(schema)、数据的分布

描述算子
查看数据的模式columns、schema、printSchema
查看数据的模样show
查看数据分布describe
查看数据的执行计划explain

3、清洗类算子
4、转换类算子
5、分析类算子
6、持久化算子
a、read API
–由format指定的文件格式
–零到多个由option构成的加载选项
–由load标记的源文件路径
b、write API
–由format定义的文件格式
–零到多个由option构成的写入选项
–由save指定的存储路径

未完明天再续

标签:类算子,val,sql,DataFrame,RDD,算子,数据处理,Spark
来源: https://blog.csdn.net/nzbing/article/details/122849409

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有