1、通过修改map的切片大小控制map数量(尽量和block大小保持一致)
并不是map越多越好,根据集群资源
set mapred.max.split.size=256000000
2、合并小文件。因为一个文件会至少生成一个map
3、避免数据倾斜
4、combine *** 作 map端的预聚合
5、mapjoin *** 作 map小表广播
6、适当备份,因为备份多可以本地化生成map任务
yarn运行流程1、提交一个mapreduce mr运行需要资源,资源在rm中
2、container资源分配的容器
3、有一个mr,rm会开启一个container
4、给当前的mr使用,启动一个mr
5、一个mr中有多个task,每个task运行都需要资源(还是通过rm进行申请container)
6、mr继承一个接口application Mster,rm想要对mr进行资源分配,需要知道mr中的细节(有多少task,分配多少)
7、可以直接启动application Master
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)