0
点赞
收藏
分享

微信扫一扫

实验六:Spark Spark SQL实验

闲嫌咸贤 2022-04-13 阅读 190

目录

学习目标:

学习内容:

实验环境:

基本概念:

Spark Streaming介绍:

实验步骤:

实验总结:


学习目标:

熟悉 Spark SQL 的使用方法。


学习内容:

类似于关系型数据库,SparkSQL也是语句也是由Projection(a1,a2, a3)、Data Source(tableA)、Filter(condition)组成,分别对应sql查询过 程中的Result、DataSource、Operation,也就是说SQL语句按Result-->Data Source-->Operation的次序来描述的。 执行Spark SQL语句的顺序为: 1.对读入的SQL语句进行解析(Parse),分辨出SQL语句中哪些词是关键词(如 SELECT、FROM、WHERE),哪些是表达式、哪些是Projection、哪些是Data Source 等,从而判断SQL语句是否规范; 2.将SQL语句和数据库的数据字典(列、表、视图等等)进行绑定(Bind),如 果相关的Projection、Data Source等都是存在的话,就表示这个SQL语句是可以执行 的; 3.一般的数据库会提供几个执行计划,这些计划一般都有运行统计数据,数据 库会在这些计划中选择一个最优计划(Optimize); 4.计划执行(Execute),按Operation-->Data Source-->Result的次序来进行 的,在执行过程有时候甚至不需要读取物理表就可以返回结果,比如重新运行刚运 行过的SQL语句,可能直接从数据库的缓冲池中获取返回结果


实验环境:

操作系统:Linux
开发环境:pyspark 交互式命令行

基本概念:

Spark SQL的特点:容易整合,统一的数据访问方式,兼容Hive,标准的数据连接。

Spark SQL与Hive SQL的区别:Hive SQL通过转换成MapReduce任务,然后提交到集群上执行,简化了编写MapReduce的程序的复杂性。但由于MapReduce这种计算模型执行效率比较慢,Spark SQL的应运而生。SparkSQL是一个SQL解析引擎,SQL解析成特殊RDD(DataFrame),然后在Spark集群中运行


Spark Streaming介绍:

什么是 Spark Streaming
Spark Streaming用于流式数据的处理,使得构建可扩展容错流应用程序变得容易。Spark Streaming具有易于使用、高容错性、高吞吐量等特点,它能够胜任实时的流计算,Spark Streaming 可以接收从 Socket、文件系统、Kafka、 Flume等数据源产生的数据,并对其进行实时处理。同时Spark Streaming 也能和机器学习库(MLlib)以及图计算库(Graphx)进行无缝衔接、实时在线分析。

 流数据加载:

初始化StreamingContext

实验步骤:

实验总结:

本次实验使我熟悉Spark SQL 的使用方法SparkSQL也是语句也是由Projection(a1,a2, a3)、Data Source(tableA)、Filter(condition)组成,分别对应sql查询过 程中的Result、DataSource、Operation,也就是说SQL语句按Result-->Data Source-->Operation的次序来描述的。本次学习对以后sparksql的学习奠定了基础,有利于后续学习

举报

相关推荐

0 条评论