第4章 Spark SQL结构化数据处理模块.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第4章SparkSQL结构化数据处理模块《Spark大数据分析与实战(第2版)》

学习目标/Target熟悉SparkSQL架构,能够说明Catalyst内部组件的运行流程熟悉DataFrame的基本概念,能够说明DataFrame与RDD在结构上的区别掌握DataFrame的常用操作,能够使用DSL风格和SQL风格操作DataFrame了解SparkSQL,能够说出SparkSQL的特点掌握DataFrame的创建,能够通过读取文件创建DataFrame

学习目标/Target掌握RDD与DataFrame的转换,能够通过反射机制和编程方式将RDD转换成DataFrame掌握Dataset的创建,能够通过读取文件创建Dataset掌握SparkSQL操作数据源,能够使用SparkSQL操作MySQL和Hive了解Dataset,能够说明RDD、DataFrame与Dataset的区别掌握DataFrame的函数操作,能够通过标量函数和聚合函数操作DataFrame

章节概述/Summary对于那些对Scala语言和Spark常用API不了解,但希望能够利用Spark框架强大数据分析能力的用户,Spark提供了一种结构化数据处理模块SparkSQL,SparkSQL模块使用户可以利用SQL语句处理结构化数据。本章将针对SparkSQL的基本原理和使用方式进行详细讲解。

目录/Contents010203SparkSQL的基础知识DataFrame的基础知识RDD转换为DataFrame04Dataset的基础知识05SparkSQL操作数据源

SparkSQL的基础知识4.1

4.1SparkSQL的基础知识SparkSQL是Spark用来处理结构化数据的一个模块,它提供了一个名为DataFrame的数据模型,即带有元数据信息的RDD。作为分布式SQL查询引擎,SparkSQL使用户可以通过SQL、DataFrameAPI和DatasetAPI3种方式实现对结构化数据的处理。无论用户选择哪种方式,它们都是基于同样的运行引擎,可以方便地在不同方式之间进行切换。

4.1.1SparkSQL的简介了解SparkSQL,能够说出SparkSQL的特点。学习目标

4.1.1SparkSQL的简介SparkSQL的前身是Shark,Shark最初是由加州大学伯克利分校的实验室开发的Spark生态系统的组件之一,它运行在Spark系统上,并且重新利用了Hive的工作机制,并继承了Hive的各个组件。Shark主要的改变是将SQL语句的转换方式从MapReduce作业替换成了Spark作业,这样的改变提高了计算效率。然而,由于Shark过于依赖Hive,所以在版本迭代时很难添加新的优化策略,从而限制了Spark的发展,因此,在后续的迭代更新中,Shark的维护停止了,转向SparkSQL的开发。SparkSQL主要提供了3个功能。支持多种数据源支持标准连接支持无缝继承

4.1.2SparkSQL架构熟悉SparkSQL架构,能够说明Catalyst内部组件的运行流程。学习目标

SparkSQL的一个重要特点就是能够统一处理数据表和RDD,使得用户可以轻松的使用SQL语句进行外部查询,同时进行更加复杂的数据分析。4.1.2SparkSQL架构

Catalyst内部主要包括Parser(分析)组件、Analyzer(解析)组件、Optimizer(优化)组件、Planner(计划)组件和QueryExecution(执行)组件。4.1.2SparkSQL架构

Catalyst内部各组件的运行流程如下。12345当用户提交SQL语句、DataFrame或Dataset时,它们会经过Parser组件进行分析。Parser组件分析相关的执行语句,判断其是否符合规范,一旦分析完成,会创建SparkSession,并将元数据保存在会话目录中发送给Analyzer组件。Analyzer组件根据会话目录中的信息,将未解析的逻辑计划解析为逻辑计划。同时,Analyzer组件还会验证执行语句中的表名、字段名和字段类型是否存在于元数据中。Optimizer组件接收到逻辑计划后进行优化处理,得到优化后的逻辑计划(OptimizedLogicalPlan)。Planner组件将优化后的逻辑计划转换为多个物理计划,通过成本模型进行资源消耗估算,在多个物理计划中得到选择后的物理计划并将其发送给QueryExecution组件。QueryExecution组件根据选择后的物理计划生成具体的执行逻辑,并将其转化为RDD4.1.2SparkSQL架构

DataFrame的

文档评论(0)

弹弹 + 关注
实名认证
内容提供者

人力资源管理师、教师资格证持证人

该用户很懒,什么也没介绍

版权声明书
用户编号:6152114224000010
领域认证该用户于2024年03月13日上传了人力资源管理师、教师资格证

1亿VIP精品文档

相关文档