hadoop MapReduce shuffle 基础问题

qq_825284867 2019-05-03 11:25:59
看hadoop权威指南7.3shuffle和排序的时候遇到了一些问题,求解.谢谢

1. 假设我有3个reducer.那每个map最后生成的是3个partition,所以是3个文件吗? 比如文件1会复制给reducer1, 文件2会复制给reducer2.....

2. 书上说map有一个环形缓冲区,默认100M,每次达到80%的时候会生成1个spill file溢出文件.那比如我溢出了20次.生成了20个溢出文件.而mapreduce.task.io.sort.factor=10每次最多很10个文件.那最后应该合并成2个没有分区的大文件,怎么与问题1中的3个分区的文件对应起来?

3. combiner在map端的作用时间是溢出文件合并成大文件的时候吗? 另外书上说combiner会在输出文件写到磁盘上之前运行,溢出文件不是已经写到磁盘上了吗? combiner怎么会在会在输出文件写到磁盘上之前运行呢?

4. reducer合并了多个map的输入.得到了几个大文件,为什么入参就可以是key, List<Value>的形式? 这个list是怎么得到的? 如果没有combiner,那文件中的记录还是一条一条的kv,为什么能够得到List?

5. 书上reducer举了一个例子,假设有40个文件,不会在4趟中每次合并10个文件,而是4 + 10 + 10 + 6目的是减小写入磁盘的量.那为什么不是10 + 10 + 10然后最后10个文件直接输入reduce不是更节约磁盘吗?

谢谢
...全文
162 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_38440773 2019-05-11
  • 打赏
  • 举报
回复
3.combiner的作用主要是减少shuffle的负担。你四个key进行网络混洗,排序的速度肯定比一个key要快很多,也便于你reducer的处理
qq_38440773 2019-05-11
  • 打赏
  • 举报
回复
2.说实话没看懂你的题目
qq_38440773 2019-05-11
  • 打赏
  • 举报
回复
1.你有多少个reducer,最后就会生成几个文件。map的partition完全是根据它的key来决定的(哈希取模),所以有可能你生成的三个文件只有一两个有数据,这也是有可能的
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,系统阐述了基于Simulink的永磁同步电机(PMSM)多参数辨识方法,重点采用粒子群优化算法(PSO)实现对电机关键内部参数的高精度辨识。研究构建了完整的PMSM控制系统仿真模型,结合智能优化算法,解决了传统参数辨识中精度低、收敛慢的问题,有效提升了电流环控制的动态性能与稳态精度。该方法特别适用于对控制精度和响应速度要求较高的工业应用场景,如高性能伺服系统、电动汽车驱动系统等,具有较强的工程实用价值和科研参考意义。文中提供了完整的Simulink仿真模型与配套代码,确保了研究内容的可复现性和实践操作性。; 适合人群:具备电机控制、自动化或电气工程等相关专业背景,熟悉MATLAB/Simulink仿真环境,从事电机驱动系统研发、控制算法设计或相关领域科研工作的工程师及研究生,尤其适合工作1-5年、希望深入理解先进参数辨识技术的研发人员。; 使用场景及目标:①开展高精度PMSM控制系统的设计与参数辨识研究;②学习并掌握PSO等智能优化算法在电机系统参数辨识中的具体实现与调优技巧;③完成学术论文复现、科研项目验证、毕业设计或工程原型开发,提升对现代电机控制核心技术的理解与应用能力。; 阅读建议:建议读者结合提供的Simulink模型与源代码进行动手实践,按照文档逻辑逐步搭建与调试仿真系统,重点关注PSO算法与电机模型的交互机制、目标函数设计及参数收敛过程,通过对比不同工况下的辨识结果,深入理解算法性能与控制精度之间的内在联系。

20,842

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧