- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 图解spark-local模式运行原理
local部署模式首先spark运行时有4个角色,如下:Driver:应用驱动程序, 是spark集群的客户Master:Spark的主控节点,是spark集群的老板Worker:Spark的工作节点,是集群的各个节点主管Executor:Spark的工作进程,由worker监管,负责具体任务的执行简单local模式运行流程(无集群)我们先看下启动任务前, driver和executor之间,简单发生了什么(注意local模式下,executor是在driverApp里面的):loca
2021-01-31 17:23:43 822 1
原创 第 226 场力扣周赛对战记录(排名356 / 4012)
感觉最近工作上写代码时有点力不从心,决定玩玩leetcode周赛锻炼下手感。这里记录每次周赛的心得,并且会以周赛题目中自己不擅长的地方为点,扩展题目训练或者记录技巧心得。历史周赛记录见:***第一题:做法:直接遍历所有小球, 计算小球各位之和后, 放进盒子里,最后统计一下盒子中球数量最大值。手速题。 java新手注意以下几点:因为球...
2021-01-31 15:44:29 368
原创 图解spark之spark如何做reduce时的数据拉取
spark的reduce过程究竟做了什么呢?我们可以看一下:先拉取数据,在聚合,最后会调上一章讲map操作时的insertAll方法即缓存结果的方法。如何做reduce聚合没啥好说的,我们看下他是怎么读取中间计算结果的1.从BlockManage处获取map任务的状态信息首先会试图获取任务的状态信息,以确认当前从哪里读取数据我们看下是从具体的获取信息过程:可以看到有以下关键点:reduce的上游任务节点状态一开始是不确定的, 如果没有需要自己根据shuffleId去拉取过来。取状态信
2021-01-24 00:48:31 892
原创 图解spark之map端计算结果缓存
当spark中做完一次map操作,准备发给下游时,究竟会做什么事呢?我按照一些问题来逐步分析。首先有个问题:map操作之后,数据是直接缓存到内存或者磁盘,等待下游client来拉取吗?spark是批处理,假设正好map处理完一批数据,会调用insertAll方法去做缓存,然而缓存并不是那么简单的存储,而是如下:可以看到,spark会判断这个map操作之后,是否会接一个聚合的操作,如果有,那么会在缓存并准备发给下游时时,提前做好聚合操作, 否则就是简单缓存。我们先看下简单缓存的分支:可以看到在这
2021-01-21 00:19:29 452
unp.h源码(CentOS上可无错编译)
2018-01-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人