![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark
yzgyjyw
这个作者很懒,什么都没留下…
展开
-
Spark源码分析之SparkSql的Analyzer,Optimizer
在上一篇博文中,我们深入的了解了SparkSql中的sql语句经过DDLParser、SparkSQLParser和SqlParser处理后得到了一个树结构的Unresolved Logical Plan,这也是我们每一次使用sparkSql时必然会执行的,但是对于一些不是立刻需要返回结果的造作,执行到这边也就结束了,只有遇到哪些诸如show,collect等需要立刻的返回结果的操作,我们才会继续后原创 2017-09-20 10:29:53 · 2732 阅读 · 0 评论 -
Spark源码解析之SparkStreaming中Receiver的启动
本篇博文我们主要分析SparkStreaming中的Receiver启动的过程原创 2017-09-21 09:57:03 · 1289 阅读 · 0 评论 -
Spark源码解析SparkStreaming数据接收
在上一篇博文中,我们讲述了一个SparkStreaming应用程序启动后开始的准备工作,即在executors启动receiver 这里我们将讲述接收数据到存储数据的过程 首先接受数据是在receiver的onStart方法里,在这里我们还是以SocketReceiver为例,在SocketReceiver的OnStart方法中启动一个线程,在该线程中调用receive方法,进行接收数据的处理d原创 2017-09-21 14:23:28 · 1141 阅读 · 0 评论 -
Spark源码解析之SparkStreaming数据处理及流动
在分析receiver启动的博文中SparkStreaming中Receiver的启动,我们遇到ReceiverSupervisor中的onStart方法 def start() { onStart() startReceiver()}我们先来回顾一下这个方法是如何被触发的: StreamingContext#start JobScheduler#start原创 2017-09-21 15:14:51 · 1355 阅读 · 0 评论 -
Spark源码分析之TaskSchedule和SparkDeployScheduleBackended的初始化
在这里我们是使用的spark1.5.1的源代码进行分析的什么是SparkContext在编写一个Spark程序的时候,我们总是会新建一个SparkContext对象,这个对象,下面是官方对这个对象的解释Main entry point for Spark functionality. A SparkContext represents the connection to a Spark cluste原创 2017-09-05 20:07:08 · 1513 阅读 · 0 评论 -
Spark源码分析之Driver的分配启动和executor的分配启动
继上一篇我们讲到创建SparkContext对象的时候,创建了TaskScheduler对象,并通过ClientEndPoint中发送RegisterApplication消息向Master注册Application,在Master接收到这个消息后,将会作出下面的动作 1. 构建ApplicationInfo对象 2. 执行registerApplication(),将applicationI原创 2017-09-12 11:35:19 · 4492 阅读 · 1 评论 -
Spark源码分析之job提交后转换为Stage
在上一讲中,我们已经分析了Driver和Executor启动的整个过程,接下来,这个集群可能就需要进行相应的算子的计算了 在这里我们先普及一下相关知识 Job:在rdd的计算中每次遇到一个action操作,才会进行一次提交,这一次提交的就是一个job stage:在一个job中,相邻的RDD之间如果是宽依赖就会进行划分,宽依赖的前后会构成两个不同的stage taskSet:每一个stage原创 2017-09-12 17:04:14 · 1391 阅读 · 0 评论 -
Spark源码解析之SparkSql
首先我们回顾一下使用SparkSql的一般步骤: 1. 从数据源或者RDD读取数据,构造出一个DataFrame 2. 使用DataFrame的registerTempTable方法根据刚才读取的数据创建一个临时表 3. 调用sqlContext的sql方法执行sql语句那么在这里我们就从sql语句的调用开始:def sql(sqlText: String): DataFrame = {原创 2017-09-18 16:55:24 · 1892 阅读 · 0 评论