《前后端面试题
》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。
文章目录
- 一、本文面试题目录
-
-
- 36. 什么是MapReduce?它的核心思想是什么?
- 37. MapReduce的执行流程分为哪几个阶段?每个阶段的作用是什么?
- 38. 解释Map函数和Reduce函数的作用,输入输出是什么?
- 39. 什么是Shuffle过程?它包含哪些步骤?
- 40. MapReduce中Partitioner的作用是什么?默认的Partitioner是什么?
- 41. Combiner的作用是什么?它与Reduce的区别是什么?
- 42. MapReduce的InputFormat和OutputFormat的作用是什么?常用的实现类有哪些?
- 43. 什么是MapReduce的“推测执行”机制?如何配置?
- 44. MapReduce任务的并行度由什么决定?(Map和Reduce的数量)
- 45. 如何优化MapReduce任务的性能?(从Map、Shuffle、Reduce阶段分析)
- 46. MapReduce中如何处理数据倾斜问题?
- 47. 简述MapReduce的Job提交流程
- 48. MapReduce的计数器(Counter)有什么作用?如何使用?
- 49. 什么是MapReduce的“链式MapReduce”?适用于什么场景?
- 50. MapReduce与YARN的关系是什么?YARN如何调度MapReduce任务?
- 51. 用MapReduce实现WordCount的核心逻辑是什么?
- 52. MapReduce中如何处理小文件问题?
- 53. 什么是MapReduce的“Job History Server”?作用是什么?
- 54. MapReduce支持的压缩方式有哪些?在哪个阶段压缩更高效?
- 55. MapReduce的局限性有哪些?(如实时性差、复杂任务难实现等)
-
- 二、110道Hadoop面试题目录列表
一、本文面试题目录
36. 什么是MapReduce?它的核心思想是什么?
MapReduce是Hadoop生态系统中用于大规模数据并行处理的分布式计算框架,由Google提出并开源,后被Hadoop实现。它允许用户在不了解分布式系统底层细节的情况下,编写分布式程序处理海量数据。
核心思想:
- 分而治之:将大规模数据集拆分成多个小数据集,由多个节点并行处理(Map阶段),再将结果合并(Reduce阶段)。