Spark SQL内核剖析

admin 2022年11月13日 108次浏览

Spark SQL内核剖析

(副标题):无 ;

(作者): 朱锋 ;

内容简介:

​ 第3章 Spark SQL执行全过程概述
从高层的语言到底层的计算模型通常都包含各种复杂的中间转换。具体到SQL语言,在数据库几十年的发展过程中,整个架构体系已经非常成熟,各种相似系统(如Hive和Im pala等)的实现均大同小异。本章通过一个简单的案例对整个执行过程进行概述,并简单介绍Spark SQL内部机制中涉及的基本概念和数据结构。
3.1 从SQL到RDD:一个简单的案例
在典型的Spark SQL应用场景中,数据的读取、数据表的创建和分析都是必不可少的过程。通常来讲,SQL查询所面对的数据模型以关系表为主。如图3.1所示的案例显示了使用Spark SQL进行数据分析的一般步骤。

图3.1 一个简单的案例

案例中涉及的操作分为3步。
(1)创建SparkSession类。从2.0版本开始,SparkSession逐步取代SparkContext成为Spark应用程序的入口。
(2)创建数据表并读取数据。这里假设数据存储在本地名为student的json文件中,包含3条记录且每条记录包含3个列(分别对应学生的id、name和age)。本案例创建了同样名为student的数据表(视图)。
(3)通过SQL进行数据分析。在SparkSession类的sql方法中可以输入任意满足语法的语句,本案例所查询的数据是年龄在18岁以上的学生名字。
值得一提的是,上述案例第2步创建数据表时虽然没有显示调用SQL语句(如关系数据库中的“create table”等),但其本质上也是SQL中的一种(DDL操作),在内部转换执行时,所涉及的流程和第3步执行SQL查询的流程类似。因此,从一般性考虑,后续内容只对第3步背后的实现进行分析。
这里首先从通用的角度介绍SQL转换的过程。一般来讲,对于Spark SQL系统,从SQL到Spark中RDD的执行需要经过

目录预览:

​ Spark SQL内核剖析
第1章 Spark SQL背景
第2章 Spark基础知识介绍
第3章 Spark SQL执行全过程概述
第4章 Spark SQL编译器Parser
第5章 Spark SQL逻辑计划(LogicalPlan)
第6章 Spark SQL物理计划(PhysicalPlan)
第7章 Spark SQL之Aggregation实现
第8章 Spark SQL之Join实现
第9章 Tungsten技术实现
第10章 Spark SQL连接Hive
第11章 Spark SQL开发与实践
总结
参考文献
封底


[EPUB下载]