07 2020 档案

摘要:Spark SQL(5-2) CacheManage之InMemoryRelation 本来计划中是没有这节的,但是中午在看spark sql 内存管理模块的时候,脑子里面突然问到,spark sql 缓存到内存的数据是怎么组织的;上网查了下博客;然后自己也跟了下代码,就形成了这篇总结。 接着之前提 阅读全文
posted @ 2020-07-30 18:15 刘姥爷观园子 阅读(394) 评论(0) 推荐(0) 编辑
摘要:Spark SQL(8)-Spark sql聚合操作(Aggregation) 之前简单总结了spark从sql到物理计划的整个流程,接下来就总结下Spark SQL中关于聚合的操作。 聚合操作的物理计划生成 首先从一条sql开始吧 SELECT NAME,COUNT(*) FRON PEOPLE 阅读全文
posted @ 2020-07-29 20:58 刘姥爷观园子 阅读(2796) 评论(0) 推荐(0) 编辑
摘要:Spark SQL(7)- physicalPlan 物理计划 spark的物理计划是将得到的逻辑算子树进一步的处理,得到针对RDD的一系列操作的集合,之后提交作业到spark集群。 spark物理计划的生成主要经历了一下的步骤: 应用sparkPlanner中定义的各种策略(strategy), 阅读全文
posted @ 2020-07-29 16:37 刘姥爷观园子 阅读(1214) 评论(0) 推荐(0) 编辑
摘要:Spark SQL(6) OptimizedPlan 在这一步spark sql主要应用一些规则,优化生成的Resolved Plan,这一步涉及到的有Optimizer。 之前介绍在sparksession实例化的是会实例化sessionState,进而确定QueryExecution、Analy 阅读全文
posted @ 2020-07-26 17:03 刘姥爷观园子 阅读(395) 评论(0) 推荐(0) 编辑
摘要:Spark SQL(5) CacheManage 在spark sql的analyzed plan 生成之后,会经过一步withCachedData的操作,其实就是根据对logicalplan的缓存,如果logicalPlan的查询结果相同则会替换相对应的节点。这步发生在QueryExecution 阅读全文
posted @ 2020-07-26 16:38 刘姥爷观园子 阅读(367) 评论(0) 推荐(0) 编辑
摘要:Spark Sql(4)-Unresolved Plan到Analyzed Plan 在第三篇总结了Unresolved Plan的生成过程,在此之后就是将其转换为Analyzed Plan。这这一步主要涉及到QueryExecution、Analyzer、catalog等。 spark.sql() 阅读全文
posted @ 2020-07-26 16:24 刘姥爷观园子 阅读(494) 评论(0) 推荐(0) 编辑
摘要:Spark SQL Parser到Unresolved LogicPlan Spark SQL Parser简单来说就是将sql语句解析成为算子树的过程,在这个过程中,spark sql采用了antlr4来完成。 当执行spark.sql()方法时,会调用 Dataset.ofRows(self, 阅读全文
posted @ 2020-07-26 14:34 刘姥爷观园子 阅读(420) 评论(0) 推荐(0) 编辑
摘要:本文主要简述InternalRow、TreeNode及其子类。 一、InternalRow 在Spark SQL的内部实现中,InternalRow就是用来表示一行行数据的,也就是说在物理计划执行的阶段,Spark SQL转换和操作的都是RDD[InternalRow]。 其UML类图如下: 其中: 阅读全文
posted @ 2020-07-26 11:47 刘姥爷观园子 阅读(804) 评论(0) 推荐(0) 编辑
摘要:Spark SQL简述 Spark SQL在Spark全家桶中扮演着很重要的角色,本文主要从参考的书籍和自己的理解尝试着总结下Spark SQL(2.3.2),也算是个笔记。先来个网上的图片,看看Spark SQL的架构是怎么样的。 Spark sql主要步骤设计逻辑计划,然后物理计划之后会将物理计 阅读全文
posted @ 2020-07-25 23:25 刘姥爷观园子 阅读(283) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示