版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Spark应用开发技术本章主要讲述SparkSQL的使用。本章主要讲述SparkDataFrame基础操作。通过学习本节将能够学习SparkSQL、SparkDataFrame基础操作。通过本节学习可以:理解SparkSQL的基本概念。掌握SparkSQL与Shell交互。掌握创建DataFrame对象的方法。掌握DataFrame查看数据的方法。掌握DataFrame的查询及输出操作。认识SparkSQLSpark
SQL简介Spark
SQLCLI配置SparkSQL与Shell交互掌握DataFrame基础操作创建DataFrame对象DataFrame查看数据DataFrame查询操作DataFrame输出操作探索分析法律服务网站数据获取数据、网页类型分析、点击次数分析、网页排名分析1.创建DataFrame对象结构化数据文件创建DataFrame外部数据库创建DataFrameRDD创建DataFrameHive中的表创建DataFrame掌握DataFrame基础操作结构化数据文件创建DataFrame加载parquet文件为DataFrame加载json文件为DataFrame方式一加载json文件为DataFrame方式二掌握DataFrame基础操作外部数据库创建DataFrameSparkSQL可以从外部数据库(比如MySQL、Oracle等数据库)中创建DataFrame使用这种方式创建DataFrame需要通过JDBC连接或ODBC连接的方式访问数据库掌握DataFrame基础操作RDD创建DataFrame方式一利用反射机制推断RDD模式,使用这种方式首先需要定义一个caseclass,因为只有caseclass才能被Spark隐式地转换为DataFrame。掌握DataFrame基础操作RDD创建DataFrame方式二从原来的RDD创建一个元组或列表的RDD用StructType创建一个和上一个步骤中创建
的RDD中元组或列表的结构相匹配的Schema通过SQLContext提供的createDataFrame方法
将Schema应用到RDD上掌握DataFrame基础操作从Hive中的表创建RDD从Hive表中的表创建DataFrame,可以声明一个HiveContext对象使用HiveContext对象查询Hive中的表并转成DataFrame掌握DataFrame基础操作准备数据将数据movies.dat,ratings.dat,users.dat上传到HDFS分别加载movies.dat,ratings.dat,users.dat数据为RDD数据movies,ratings,users分别将RDD数据movies,ratings,users转换为DataFrame掌握DataFrame基础操作2.DataFrame查看数据掌握DataFrame基础操作DataFrame查看数据——printSchemaprintSchema函数查看数据模式,打印出列的名称和类型掌握DataFrame基础操作DataFrame查看数据——show掌握DataFrame基础操作DataFrame查看数据——show()/show(truncate:Boolean)show()方法与show(true)方法一样,只显示前20条记录并且最多只显示20个字符若是要显示所有字符,需要使用show(false)方法掌握DataFrame基础操作DataFrame查看数据——show(numRows:Int)show(numRows:Int)查看前n行记录掌握DataFrame基础操作DataFrame查看数据——first/head/take/takeAsList掌握DataFrame基础操作DataFrame查看数据——collect/collectAsListcollect方法可以将DataFrame中的所有数据都获取到,并返回一个Array对象collectAsList方法可以获取所有数据到List掌握DataFrame基础操作3.DataFrame查询方式一将DataFrame注册成为临时表,然后通过SQL语句进行查询掌握DataFrame基础操作4.DataFrame查询方式二直接在DataFrame对象上进行查询,DataFrame提供了很多查询的方法掌握DataFrame基础操作DataFrame查询——条件查询DataFrame可以使用where(conditionExpr:String)根据指定条件进行查询参数中可以使用and或or该方法的返回结果仍然为DataFrame类型掌握DataFrame基础操作DataFrame查询——条件查询DataFrame还可使用filter筛选符合条件的数据filter与where的使用方法一样掌握DataFrame基础操作DataFrame查询——查询指定字段的数据信息select方法根据传入的string类型字段名,获取指定字段的值,以DataFrame类型返回掌握DataFrame基础操作DataFrame查询——查询指定字段的数据信息掌握DataFrame基础操作selectExpr:对指定字段进行特殊处理可以对指定字段调用UDF函数或者指定别名selectExpr传入string类型的参数,返回DataFrame对象。DataFrame查询——查询指定字段的数据信息col或者apply也可以获取DataFrame指定字段col或者apply只能获取一个字段,并且返回对象为Column类型掌握DataFrame基础操作DataFrame查询——limitlimit方法获取指定DataFrame的前n行记录,得到一个新的DataFrame对象不同于take与head,limit方法不是Action操作。掌握DataFrame基础操作DataFrame查询——orderByorderBy方法是根据指定字段排序,默认为升序排序若是要求降序排序,可以使用desc(“字段名称”)或者$”字段名”.desc或者在指定字段前面加“-”来表示降序排序掌握DataFrame基础操作DataFrame查询——sortsort方法与orderBy方法一样,也是根据指定字段排序,用法也与orderBy一样掌握DataFrame基础操作DataFrame查询——groupBygroupBy方法是根据字段进行分组操作groupBy方法有两种调用方式,可以传入String类型的字段名,也可传入Column类型的对象。掌握DataFrame基础操作DataFrame查询——groupBygroupBy方法返回的是GroupedData对象,GroupedData的操作方法如表所示掌握DataFrame基础操作DataFrame查询——joinDataFrame提供了三种join方法用于连接两个表掌握DataFrame基础操作DataFrame查询——join(right:DataFrame)掌握DataFrame基础操作DataFrame查询——join(right:DataFrame,joinExprs:Column)掌握DataFrame基础操作DataFrame查询——join(right:DataFrame,joinExprs:Column,joinType:String)连接类型joinType只能是inner、outer、left_outer、right_outer、semijoin中的一种掌握DataFrame基础操作5.DataFrame输出操作save方法可以将DataFrame保存成文件,save操作有一个可选参数SaveMode,用这个参数可以指定如何处理数据已经存在的情况。在使用HiveContext的时候,DataFrame可以用saveAsTable方法,将数据保存成持久化的表。读取持久化表时,只需要用表名作为参数,调用SQLContext.table方法即可得到对应DataFrame。掌握DataFrame基础操作将DataFrame保存到一个文件里方法一首先创建一个Map对象,用于存储一些save函数需要用到的一些数据,这里将指定保存文件路径及JSON文件的头信息从DataFrame对象中选择出userId,gender和age三列调用save函数保存(2)中的DataFrame数据到copyOfUser.json文件夹中掌握DataFrame基础操作将DataFrame保存到一个文件里方法一mode函数可以接收的参数有Overwrite、Append、Ignore和ErrorIfExists。Overwrite代表覆盖目录下之前存在的数据Append代表给指导目录下追加数据Ignore代表如果目录下已经有文件,那就什么都不执行ErrorIfExists代表如果保存目录下存在文件掌握DataFrame基础操作将DataFrame保存到一个文件里方法一查看保存结果掌握DataFrame基础操作将DataFrame保存到一个文件里方法二直接调用save(path:String,source:String,mode:SaveMode)方法掌握DataFrame基础操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度伸缩缝施工材料回收及再利用合同正规范本3篇
- 内蒙古大学创业学院《财经管理中的计算机应用》2023-2024学年第一学期期末试卷
- 2024年度软件开发及购买合同3篇
- 2024年弹性工作时间契约2篇
- 2024年农业设施大棚农作物病虫害防治合作协议范本2篇
- 2024版小学生视力保护计划合作协议3篇
- 2024年居间人佣金协议6篇
- 2024版塔吊租赁安装工程资料共享合同2篇
- 2024版意外险经纪服务委托协议书范文3篇
- 2024年标准版工程用差插座批量采购协议稿版
- 金刚砂耐磨地面施工安全方案
- 期末测试(试题)-2024-2025学年六年级上册数学苏教版
- GB/T 36547-2024电化学储能电站接入电网技术规定
- 品牌合作经营合同
- 《基于ACSI模型的客户满意度测评体系研究》
- 期末测试卷(一)2024-2025学年 人教版PEP英语五年级上册(含答案含听力原文无听力音频)
- 园长培训:自主游戏材料投放策略
- 2024文旅景区新春潮趣游园会龙腾中国年主题集五福活动策划方案
- 2023-2024学年广东省深圳市南山区八年级(上)期末英语试卷
- 2024广西专业技术人员继续教育公需科目参考答案(100分)
- 2024年上海市中考语文备考之150个文言实词刷题表格及答案
评论
0/150
提交评论