mapreduce
东纪元
这个作者很懒,什么都没留下…
展开
-
hadoop mapreduce 运行combiner运行时机
什么时候运行Combiner?1、当job设置了Combiner,并且spill的个数到min.num.spill.for.combine(默认是3)的时候,那么combiner就会Merge之前执行;2、但是有的情况下,Merge开始执行,但spill文件的个数没有达到需求,这个时候Combiner可能会在Merge之后执行;3、Combiner也有可能不运行,Combiner会考虑...转载 2019-12-02 18:06:05 · 498 阅读 · 0 评论 -
mapreduce CombineTextInputFormat合并小文件
CombineTextInputFormat是用于合并小文件的。通过调用setMaxInputSplitSize方法设置maxSize。有两个主要步骤,(1)虚拟存储,先按照指定规则把指定目录下的文件都切分为小于maxSize的更小文件。当然,原本就小于maxSize的小文件不做切分。只有大于maxSIze的小文件会切分的比maxSize更小。切分后的所有文件都是小于maxSize的,当然...原创 2019-10-14 16:00:52 · 531 阅读 · 0 评论 -
hadoop mapreduce所有组件
转载 2019-06-17 22:10:23 · 200 阅读 · 0 评论 -
hadoop mapreduce的shuffle机制(MRAppMaster如何协调mapper和reducer的)
转载 2019-06-17 21:51:58 · 194 阅读 · 0 评论 -
hadoop mapreduce之切片(split)
如果切片大小与数据块大小一样,那么数据块有多少个,就会有多少个切片,然后每个切片启动一个map task处理。如果数据块 很小,那么会把很多数据块加起来作为一个切片,然后启动一个map task进行处理。...转载 2019-06-16 22:45:01 · 529 阅读 · 0 评论 -
hadoop 运行mapreduce程序会启动哪些进程,以及这些进程的启动和销毁顺序
1、启动RunJar2、启动MRAppMaster3、启动mapper的yarnChild4、销毁mapper的yarnChild5、启动reduce的yarnChild6、销毁reduce的yarnChild7、销毁RunJar8、销毁MRAppMaster...原创 2019-06-16 22:26:06 · 1932 阅读 · 0 评论 -
九、hadoop mapreduce分区
mapreduce的分区是指把map任务执行完后得到的数据根据partitioner的规则分配到不同的reducer上处理,(不同的reduce的输出结果会在不同的文件中)一、什么时候分区?每个Mapper执行完map任务后还会在当前节点对map输出数据进行partitioner和sort操作,做完这些操作之后把结果放到内存的缓冲区中。当存储大小超过缓冲区阈值,会把内存的缓冲区数据放...原创 2019-06-16 19:10:14 · 351 阅读 · 0 评论 -
八、Intellij IDEA远程向hadoop集群提交mapreduce作业
其实对比单机版,差别不是很大。用阿里云的时候别忘了把所有端口都打开。。因为有些代码还是在windows运行,而有些端口貌似是不固定的,应该可以配置成固定的,但我偷懒了,就让hadoop自己随机吧。。我把linux端口全打开。(1)job代码: //hdfs操作文件系统的用户名,避免在windows下使用默认用户名对hdfs没有修改权限 System.s...原创 2019-06-09 22:32:01 · 620 阅读 · 0 评论 -
七、hadoop mapreduce使用yarn在集群中运行(该文章还需修改)
需要在mapred-site.xml文件中配置:<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property></confi...原创 2019-06-09 22:11:51 · 374 阅读 · 0 评论 -
六、hadoop mapreduce在windows本地运行调试
首先,在windows下安装hadoop,设置环境变量,还要加一个dll。资源在这:https://download.csdn.net/download/qq_34955771/10163981资源下载完按一下步骤配置,1:将文件解压到hadoop的bin目录下2:将hadoop.dll复制到C:\Window\System32下3:添加环境变量HADOOP_HOME,指向ha...原创 2019-06-09 20:41:23 · 1084 阅读 · 0 评论 -
五、hadoop MapReduce之运行job的流程
不论是使用hadoop jar xx.jar com.example.MyMainClass命令去执行main方法,还是在idea等编译器直接运行main方法,效果其实是一样的。都是为了启动执行指定的类的main方法,然后执行job.waitForCompletion。一、在执行main方法里面的代码时(另一篇文章中job的模板代码)执行job.waitForCompletion方...转载 2019-06-07 17:43:08 · 419 阅读 · 0 评论 -
hadoop 在widnows下运行需要比linux配置一些额外的东西
额,就是给我另一篇文章新起个标题。。。省的我自己搜索的时候总是找不到看我另一篇文章:https://blog.csdn.net/qq_36951116/article/details/90411329原创 2019-06-07 17:07:20 · 134 阅读 · 0 评论 -
四、hadoop MapReduce之Job代码编写
1、模板代码,只要替换成自己写的Mapper和Reducer等等就行了 public static void main(String[] args) throws Exception{ int exit = ToolRunner.run(new Configuration(), new WCRunner(), args); System.exit(e...原创 2019-06-07 17:01:01 · 497 阅读 · 0 评论 -
三、hadoop MapReduce之Reduce代码编写
1、与Map差不多,继承Reducer,一样是四个泛型参数。前两个泛型参数指的是Map输出的k-v类型(即reduce输入的k-v类型)后两个就是Reducer自身输出的k-v类型2、然后要实现Reducer的reduce方法。这个方法与Mapper的map方法有一点点区别,但是区别不大。第一个参数是输入的key(map输出的key),第二个参数是valueList,第三个参数...原创 2019-06-05 23:29:23 · 283 阅读 · 0 评论 -
二、hadoop MapReduce之Map代码编写
1、首先,继承mapreduce包下的Mapper类(有个叫mapred的包很像,但不是那个包)2、四个泛型的意义,如下:(1)(2)默认情况下,框架传递给mapper的KEYIN是当前被输入的这一行的偏移量(注意,不是第几行,而是这一行首字符在整个文件中是第几个字符)。一般用不着这个字段还有,输入的数据可能来自多个文件,而KEYIN的偏移量指的是当前输入的这一行数据在所属文件...原创 2019-06-05 23:18:54 · 244 阅读 · 0 评论