Spark _18 _Shuffle文件寻址
Shuffle文件寻址
- MapOutputTracker
MapOutputTracker是Spark架构中的一个模块,是一个主从架构。管理磁盘小文件的地址。
- MapOutputTrackerMaster是主对象,存在于Driver中。
- MapOutputTrackerWorker是从对象,存在于Excutor中。
- BlockManager
BlockManager块管理者,是Spark架构中的一个模块,也是一个主从架构。
- BlockManagerMaster,主对象,存在于Driver中。
BlockManagerMaster会在集群中有用到广播变量和缓存数据或者删除缓存数据的时候,通知BlockManagerSlave传输或者删除数据。
2.BlockManagerSlave,从对象,存在于Excutor中。
BlockManagerSlave会与BlockManagerSlave之间通信。
- 无论在Driver端的BlockManager还是在Excutor端的BlockManager都含有三个对象:
- DiskStore:负责磁盘的管理。
- MemoryStore:负责内存的管理。
- BlockTransferService:负责数据的传输。
- Shuffle文件寻址图
- Shuffle文件寻址流程
- 当map task执行完成后,会将task的执行情况和磁盘小文件的地址封装到MpStatus对象中,通过MapOutputTrackerWorker对象向Driver中的MapOutputTrackerMaster汇报。
- 在所有的map task执行完毕后,Driver中就掌握了所有的磁盘小文件的地址。
- 在reduce task执行之前,会通过Excutor中MapOutPutTrackerWorker向Driver端的MapOutputTrackerMaster获取磁盘小文件的地址。
- 获取到磁盘小文件的地址后,会通过BlockManager连接数据所在节点,然后通过BlockTransferService进行数据的传输。
- BlockTransferService默认启动5个task去节点拉取数据。默认情况下,5个task拉取数据量不能超过48M。
Spark _18 _Shuffle文件寻址相关推荐
- Linux中的文件寻址,Linux文件寻址算法:逻辑地址到物理地址的转换
题目描述: 编写一个函数实现Linux文件寻址的算法,即读取文件当前位置到物理存储位置的转换函数,需要给出运行的测试数据,可以假设和模拟需要的数据和结构.即编写一个函数unsigned long lt ...
- spark 读取本地文件
1 背景 基于spark 开发程序 数据放在本地文件中,为text格式 本文语言案例为java 2 步骤 2.1 搭建工程 基于maven搭建spark工程_this is a b ...
- Spark获取CSV文件导入ClickHouse
Spark获取CSV文件导入ClickHouse 环境配置 POM文件 ClickHouser创建临时表 数据库连接工具类(Scala版) 获取csv使用工具类导入ClickHouse(重点) 线上运 ...
- spark解析csv文件_Spark:解析CSV文件并按列值分组
spark解析csv文件 我发现自己经常使用大型CSV文件,并且意识到我现有的工具集不能让我快速浏览它们,我以为我会花一些时间在Spark上看看是否有帮助. 我正在使用芝加哥市发布的犯罪数据集 :它的 ...
- Spark从本地文件中统计包含某个字母的行数
Spark从本地文件中统计包含某个字母的行数: import org.apache.spark.SparkConf; import org.apache.spark.sql.Dataset; impo ...
- Spark 读取CSV文件为RDD
Spark 读取CSV文件为RDD 1 准备数据 在开始之前,假设我们在文件夹"c:/tmp/files"中有以下带有逗号分隔文件内容的 CSV 文件名,我使用这些文件来演示示例. ...
- Spark 读取csv文件quote配置无效
在进行数据清洗时,使用spark 读取csv文件时,遭遇到数据列中存在 \n的字符 原始数据: names "小红\n小明" 解析后数据: index names 1 小红 2 小 ...
- Spark任务输出文件过程详解
文章目录 一.Spark任务输出文件的总过程 二.Commit细节分析 1.commitTask 介绍 1.1.判断是否需要commit 1.2.task的commit细节 2.commitJob 介 ...
- Spark sql 读文件的源码分析
从spark jobs监控页面上经常看到这种job: Listing leaf files and directories for 100 paths: 如图: 这其实是spark s ...
最新文章
- Discuz! X2.5 添加自定义数据调用模块(简单方法)
- canvas绘制弯月
- 从无到有<前端异常监控系统>落地
- 项目管理(一)计时计件
- Web常用函数介绍(LoadRunner相关)
- 做支付遇到的HttpClient大坑(一)
- 网页怎么在图片上添加文字_教你同时将图片水印和文字水印添加到视频画面
- Cloud一分钟 | 苹果更新“隐私页面”;中国联通大数据正式升级,进入数智新阶段...
- springmvc 带查询条件的分页,form的控制范围,怎么包裹条件提交给后台
- 阿里云徐栋:“下一代互联网”三大技术趋势
- Mysql三种备份,mysqdump,xtrabackup工具,基于lvm-snapshot快照备份等。
- JS判断数组是否包含某个元素
- net_device_ops的ndo_open和ndo_start_xmit函数
- 六款超好用的大数据分析工具
- 译体验|Qualtrics:客户体验的六大法则
- 注册ArcGIS Online账号||免费使用21天(保姆级)
- 【管理学知识】决策模型10-10-10法则(加油吧,少年!)
- Django相关操作(连续跳转和登录注册为例)
- 大数据风控AI竞赛总结
- 21天战拖记——Day21:《小强升职记》学习感受(2014-05-24)
热门文章
- AtCoder - arc098_b Xor Sum 2(尺取+位运算)
- 牛客 - 牛半仙的妹子图(并查集+bitset/克鲁斯卡尔重构树+主席树)
- HDU - 5876 Sparse Graph(bfs+set)
- PyTorch-常用代码
- protobuf入门教程(二):消息类型
- VC2008中处理CStatic控件的单击STN_CLICKED消息
- 彻彻底底了解回调函数
- C++ SYN攻击源码
- 面试官:你对MySQL高性能优化有什么规范建议?
- 曹大带我学 Go(8)—— 一个打点引发的事故