8.16每周总结
这周主要学习 MapReduce 程序相关内容。首先学习了 MapReduce 的核心思想,即 “分而治之”,将大规模的数据处理任务分解成多个小任务,由多个节点并行处理,最后再将结果合并。接着学习了 Shuffle 机制,了解到 Shuffle 是 MapReduce 中连接 Map 和 Reduce 的关键环节,包括 Map 端的输出排序、分区、合并等操作,以及 Reduce 端的拉取、排序、合并等操作。然后学习了 MapReduce 程序的运行流程,从输入数据到 Map 阶段处理,再到 Shuffle 阶段,最后到 Reduce 阶段输出结果。还学习了 MR 之 WordCount 讲解,通过这个经典案例,熟悉了 MapReduce 程序的编写和运行过程,自己也动手编写了 WordCount 程序并在 Hadoop 集群上运行,成功统计了文本中的单词数量。另外,还学习了 MR 之天气案例,了解如何利用 MapReduce 处理天气相关的数据,进行数据的分析和统计。
遇到的问题主要是在编写 MapReduce 程序时,对于自定义 Mapper 和 Reducer 类的逻辑处理不够熟练,经常出现业务逻辑错误。另外,在理解 Shuffle 机制的细节时,比如分区策略和排序规则,还存在一些模糊的地方,需要进一步学习和实践。
下周计划继续深入学习 MapReduce 程序,尝试编写更多复杂的 MapReduce 程序,解决实际的数据处理问题,并且对之前学习的 HDFS、Yarn 等内容进行回顾和总结,加深整体理解。
浙公网安备 33010602011771号