- 博客(17)
- 收藏
- 关注
原创 归并排序模板
int tmp[N];void merge_sort(int *q, int l, int r){ if(l>=r) return; int mid = L+r>>1; merge_sort(q,l,mid); merge_sort(q,mid+1,r); int k=0, i=l, j=mid+1; while(i<=mid && j<=r) { if(q[i]<q.
2022-03-04 20:05:52
227
原创 快速排序模板
void quick_sort(int *q, int l, int r){ if(l>=r) return; int x=q[l+r>>1], i=l-1, j = r+1; while(i<j) { do i++; while(q[i]<x); do j--; while(q[j]>x); if(i<j) swap(q[i],q[j]); } quic.
2022-03-04 19:59:58
235
原创 解决Google Colab自动掉线问题
打开谷歌浏览器,检查页面元素,进入控制台,输入function ClickConnect(){ console.log("Working"); document .querySelector("#top-toolbar > colab-connect-button") .shadowRoot .querySelector("#connect") .click()} setInterval(ClickConnect,1*60000) //1 分钟
2022-01-24 11:41:47
1537
原创 山东大学软件工程应用与实践: Spark(十三) 代码分析
2021SC@SDUSC目录创建DAGSchedulerSource和BlockManagerSource将SparkContext标记为激活创建DAGSchedulerSource和BlockManagerSource在创建DAGSchedulerSource、blockManagerSource之前首先调用taskScheduler的postStartHook方法,其目的是为了等待backend就绪,见代码清单3-53。poststartHook的实现见代码清单3-54。创建.
2021-12-27 19:28:51
744
原创 山东大学软件工程应用与实践: Spark(十二) 代码分析
2021SC@SDUSC目录创建和启动ExecutorAllocationManagerContextCleaner的创建和启动Spark环境更新创建和启动ExecutorAllocationManagerExecutorAllocationManager用于对已分配的Executor进行管理,创建和启动ExecutorAllocationManager的代码如下:private[spark] val executorAllocationManager: Option[Ex
2021-12-22 20:41:41
1031
原创 山东大学软件工程应用与实践: Spark(十一) 代码分析
2021SC@SDUSC目录启动测量系统MetricsSystem1.注册Sources2.注册Sinks3.给Sinks增加Jetty的ServletContextHandler启动测量系统MetricsSystemMetricsSystem使用codahale提供的第三方测量仓库Metrics。MetricsSystem中有三个概念:Instance:指定了谁在使用测量系统 Source:指定了从哪里收集测量数据 Sink:指定了往哪里输出测量数据、Spark按照I
2021-12-20 13:28:57
204
原创 山东大学软件工程应用与实践: Spark(十) 代码分析
2021SC@SDUSC目录TaskScheduler的启动1.创建LocalActor2.ExecutorSource的创建与注册3.ExecutorActor的构建与注册4.Spark自身ClassLoader的创建TaskScheduler的启动要想TaskScheduler发挥作用,必须要启动它,代码入如下:taskScheduler.start()TaskScheduler在启动的时候,实际调用了backend的start方法,override de
2021-12-15 19:45:29
1765
原创 山东大学软件工程应用与实践: Spark(九) 代码分析
2021SC@SDUSC目录创建和启动DAGScheduler创建和启动DAGSchedulerDAGScheduler主要用于在任务正式交给TaskSchedulerImpl提交之前做一些准备工作,包括:创建Job,将DAG中的RDD划分到不同的Stage,提交Stage,等等。创建DAGScheduler的代码如下:@volatile private[spark] var dagScheduler: DAGScheduler = _ dagScheduler = new D
2021-12-13 20:58:21
1295
原创 山东大学软件工程应用与实践: Spark(八) 代码分析
2021SC@SDUSC目录Hadoop相关配置及Executor环境变量1.Hadoop相关配置信息2.Executor环境变量创建任务调度器TaskScheduler1.创建TaskSchedulerImpl2.TaskSchedulerImpl的初始化Hadoop相关配置及Executor环境变量1.Hadoop相关配置信息默认情况下,Spark使用HDFS作为分布式文件系统,所以需要获取Hadoop相关配置信息的代码如下:val hadoopConf
2021-12-08 20:17:11
258
原创 山东大学软件工程应用与实践: Spark(七) 代码分析
2021SC@SDUSC目录SparkUI1.listenerBus2.构造JobProgressListenerSparkUI1.listenerBuslistenerBus的类型是LiveListenerBus。LiveListenerBus实现了监听器模型,通过监听事件触发对各种监控器监听状态信息的修改,达到Ui界面的数据刷新的效果。它由以下几部分组成:事件阻塞队列,类型为LinkedBlockingQueue[SparkListenerEvent] 监听器数组,类型
2021-12-03 21:56:35
1772
原创 山东大学软件工程应用与实践: Spark(六) 代码分析
2021SC@SDUSC目录创建metadataCleaner创建metadataCleanerSparkContext为了保持对所有持久化的RDD跟踪,使用类型是TimeStampedWeakValueHashMap的persistentRdds缓存。metadataCleaner的功能是消除过期的持久化RDD。创建metadataCleaner的代码如下:private[spark] val persistentRdds = new TimeStampedWeakValueHa
2021-12-03 17:23:02
1503
原创 山东大学软件工程应用与实践: Spark(五) 代码分析
2021SC@SDUSC目录SparkEnv1.创建缓存管理器CacheManager2.HTTP文件服务器HTTPFileServer3.创建测量系统MetricsSystem4.创建SparkEnvSparkEnv1.创建缓存管理器CacheManagerCacheManager用于缓存RDD某个分区计算后的中间结果,缓存计算结果发生在迭代计算的时候、创建CacheManager的代码如下val cacheManager = new CacheManager
2021-12-03 16:57:01
1053
原创 山东大学软件工程应用与实践: Spark(四) 代码分析
2021SC@SDUSC目录SparkEnv1.实例化ShuffleManager2.shuffle线程内存管理器ShuffleMemoryManager3.块传输服务BlockTransferService4.BlockManagerMaster介绍5.创建块管理器BlockManager6.创建广播管理器BrodacastManagerSparkEnv1.实例化ShuffleManagerShuffleManager负责管理本地及远程的block数据的sh
2021-12-02 20:05:12
464
原创 山东大学软件工程应用与实践: Spark(三) 代码分析
2021SC@SDUSCSparkEnvSparkEnv的方法createDriverEnv最终调用create创建SparkEnv。SparkEnv的构造步骤如下:创建安全管理器SecurityManager; 创建基于Akka的分布式消息系统ActorSystem; 创建Map任务输出跟踪器mapOutputTracker; 实例化ShuffleManager; 创建ShuffleMemoryManager; 创建块传输服务BlockTransferService; 创建Bloc
2021-12-01 21:39:14
689
原创 山东大学软件工程应用与实践: Spark(二) 代码分析
2021SC@SDUSC1.SparkContext概述Spark Driver 用于提交用户应用程序,实际可以看作Spark的客户端。所以了解Spark Driver的初始化可以帮助我们理解用户应用程序在客户端的处理过程。Spark Driver的初始化始终围绕着SparkContext的初始化。SparkContext可以算得上是所有Spark应用程序的发动机引擎,轿车想要跑起来,发动机首先要启动。SparkContext初始化完成,才能向Spark集群提供任务。比如在平坦的公路上,发动机只
2021-12-01 19:12:28
467
原创 山东大学软件工程应用与实践: Spark(一) 项目综述
2021SC@SDUSCSpark项目背景Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab(加州大学伯克利分校AMP实验室)所开源的类Hadoop Mapreduce的通用并行框架,...
2021-09-30 17:47:37
330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人