网站大量收购闲置独家精品文档,联系QQ:2885784924

《通信数据分析与实战》课件——第四章 Spark SQL.pptxVIP

《通信数据分析与实战》课件——第四章 Spark SQL.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

通信数据分析与实战SparkSQL第四章第1节

2知道SparkSQL的作用掌握SparkSQL的架构学习目标TARGET

SparkSQL的概述在很多情况下,开发工程师并不了解Scala语言,也不了解Spark常用API,但又非常想要使用Spark框架提供的强大的数据分析能力。Spark的开发工程师们考虑到了这个问题,利用SQL语言的语法简洁、学习门槛低以及在编程语言普及程度和流行程度高等诸多优势,从而开发了SparkSQL模块,通过SparkSQL,开发人员能够通过使用SQL语句,实现对结构化数据的处理。

SparkSQL的概述SparkSQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象结构叫做DataFrame的数据模型(即带有Schema信息的RDD),SparkSQL作为分布式SQL查询引擎,让用户可以通过SQL、DataFramesAPI和DatasetsAPI三种方式实现对结构化数据的处理。

SparkSQL的概述SparkSQL主要提供了以下三个功能:SparkSQL可从各种结构化数据源中读取数据,进行数据分析。SparkSQL包含行业标准的JDBC和ODBC连接方式,因此它不局限于在Spark程序内使用SQL语句进行查询。SparkSQL可以无缝地将SQL查询与Spark程序进行结合,它能够将结构化数据作为Spark中的分布式数据集(RDD)进行查询。

SparkSQL的架构SparkSQL架构与Hive架构相比,把底层的MapReduce执行引擎更改为Spark,还修改了Catalyst优化器,SparkSQL快速的计算效率得益于Catalyst优化器。从HiveQL被解析成语法抽象树起,执行计划生成和优化的工作全部交给SparkSQL的Catalyst优化器进行负责和管理。SparkSQL架构图

SparkSQL的架构Spark要想很好地支持SQL,需要完成解析(Parser)、优化(Optimizer)、执行(Execution)三大过程。

SparkSQL的架构SqlParse:完成SQL语法解析功能,目前只提供了一个简单的SQL解析器。Analyze:主要完成绑定工作,将不同来源的UnresolvedLogicalPlan和元数据进行绑定,生成ResolvedLogicalPlan。Optimizer:对ResolvedLo;gicalPlan进行优化,生成OptimizedLogicalPlan。Planner:将LogicalPlan转换成PhysicalPlan。CostModel:主要根据过去的性能统计数据,选择最佳的物理执行计划。Catalyst优化器在执行计划生成和优化的工作时,离不开内部的五大组件。

SparkSQL的架构在了解了上述组件的作用后,下面分步骤讲解SparkSQL工作流程。

SparkSQL的架构SparkSQL工作流程:1下在解析SQL语句之前,会创建SparkSession,涉及到表名、字段名称和字段类型的元数据都将保存在SessionCatalog中;2当调用SparkSession的sql()方法时就会使用SparkSqlParser进行解析SQL语句,解析过程中使用的ANTLR进行词法解析和语法解析;3使用Analyzer分析器绑定逻辑计划,在该阶段,Analyzer会使用AnalyzerRules,并结合SessionCatalog,对未绑定的逻辑计划进行解析,生成已绑定的逻辑计划;

SparkSQL的架构4使用Optimizer优化器优化逻辑计划,该优化器同样定义了一套规则(Rules),利用这些规则对逻辑计划和语句进行迭代处理;5使用SparkPlanner对优化后的逻辑计划进行转换,生成可以执行的物理计划SparkPlan;6使用QueryExecution执行物理计划,此时则调用SparkPlan的execute()方法,返回RDDs。SparkSQL工作流程:

12小结知道SparkSQL的作用掌握SparkSQL的架构

通信数据分析与实战SparkSQL第四章第2节

14知道DataFrame和RDD的区别熟悉DataFrame的创建掌握DataFrame的常用操作学习目标TARGET

DataFrame的概述SparkSQL使用的数据对象并非是RDD,而是DataFrame。在Spark1.3.0版本之前,DataFrame被称为SchemaRDD。DataFrame使Spark具备处理大规模结构化数据的能力。在Spark中,DataFrame是一种以RDD为基础的分布式数据集。DataFrame的结构类似传统数据库的二维表

您可能关注的文档

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档