![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
一过人_
初出茅庐
展开
-
hadoop中关于shuffle机制的源码分析
今天我们来分析一些MR中shuffle阶段的流程源码分析shuffle阶段处于mapper之后reducer之前,是在mapTask的后半部分和reduceTask的前半部分一、MapTask中的shuffle阶段Mapper中调用context.write()方法后mapper的write方法一直进入到MapTask类中的write方法,然后默认分区方法是HashPartitioner类中的方法public int getPartition(K key, V value,原创 2020-07-31 11:01:17 · 958 阅读 · 4 评论 -
hadoop中MR的切片机制源码分析
上篇关于job提交的源码分析中我们将整体流程大概分析了,本篇重点分析关于其中submit提交过程中对于文件的切片机制进行讨论在JobSubmitter类中200行左右进行了文件分片的处理,进入其中再进入主要的writeNewSplits()方法没有配置的情况下,默认是TextInputFormat,此时调用的是其继承与父类FileInputFormat的getSplits()方法其中具体获取最大值、最小值的方法如下图在切片中最重要的就是如下核心代码:实际读取数据是重写了父类的方法原创 2020-07-29 19:20:45 · 666 阅读 · 0 评论 -
hadoop中MapReduce的job提交流程的源码分析
hadoop中MapReduce的job提交流程的源码分析:业务代码job对象调用提交方法waitForCompletion(),此时进入源码分析流程进入到Job类中的此方法,首先判断任务的状态,如果state == JobState.DEFINE ,就执行submit()方法一、建立连接connect();创建提交Job的代理new Cluster(getConfiguration());判断是本地yarn还是远程initialize(jobTrackAddr, conf);二原创 2020-07-28 15:48:35 · 564 阅读 · 0 评论 -
本地运行MR时报NativeIO$POSIX.stat错误
基于hadoop3.0在idea开发本地执行MapReduce时报的POSIX.stat的错误代码没有任何问题,看错误是关于文件的问题,猜测是不是输入输出路径的问题。此时输入的路径是一个文件夹,将路径换成一个具体的文件后,运行正常并且结果输出正常考虑到Linux上hadoop3.1能够输入文件夹直接进行运行,思考是不是3.0的版本还不支持能进行多文件的操作,将3.0版本换成3.1版本后进行操作完美运行,并且文件夹目录下多文件也能正常运行输出正确结果,验证了猜想。...原创 2020-07-12 19:17:50 · 771 阅读 · 6 评论