漫谈Map Reduce 参数优化

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

优化点:

1.map个数设置:

默认map个数

default_num=total_size/block_size;

期望大小

goal_num=mapred.map.tasks;

设置处理的文件大小

split_size=max(mapred.min.split.size,block_size);

split_num=total_size/split_size;

计算的map个数

compute_map_num=min(split_num,max(default_num,goal_num))

1)如果想增加map个数,则设置mapred.map.tasks为一个较大的值。

2)如果想减小map个数,则设置mapred.min.split.size为一个较大的值。有如下两种情况:

情况1:输入文件size巨大,但不是小文件增大mapred.min.split.size的值。

情况2:输入文件数量巨大,且都是小文件,就是单个文件的size小于blockSize。这种情况通过增大mapred.min.spllt.size不可行,需要使用CombineFileInputFormat将多个input path合并成一个(合并小文件输入)InputSplit送给mapper处理,从而减少mapper的数量。

set mapred.max.split.size=256000000; -- 决定每个map处理的最大的文件大小,单位为B 
set mapred.min.split.size.per.node=128000000; -- 节点中可以处理的最小的文件大小 
set mapred.min.split.
电源完整性之Cadence Sigrity Power SI_AC阻抗仿真 之前和大家分享过电源完整性之仿真设计原理链接: [link](https://blog.csdn.net/weixin_41808082/article/details/117065140?spm=1001.2014.3001.5501).今天接着上一篇文章总结一下电源AC阻抗的的仿真操作流程及一些simulation中的设置参数,用到的时候Cadence Sigrity 中的Power SI组件,下面开始享受仿真的快乐吧: 1.仿真模式选择与文件导入 选择Cadence Sigrity下的Power SI 阅读详情

相关推荐

MapReduce Input Split(输入分/切片)详解

看了很多博客,感觉没有一个说的很清楚,所以我来整理一下。 Hadoop 2.x默认的block大小是128MB,Hadoop 1.x默认的block大小是64MB,可以在hdfs-site.xml中设置dfs.block.size,注意单位是byte。 分片大小范围可以在mapred-site.xml中设置,mapred.min.split.size mapred.max.split.sizeminSplitSize大小默认为1B,maxSplitSize大小默认为Long.MAX_VALUE = 92

光于前裕于后的博客 3万+

大数据HIVE篇--控制hive任务中的map数和reduce

空置MapReduce的个数

qq_43709558的博客 1697

【Unity 实用工具篇】 | Unity网格破碎插件 unity-fracture

前面写过一篇Unity中物体破碎效果的插件:【Unity 实用工具篇】 | Unity物体破碎效果 OpenFracture 本文介绍一个另外的工具unity-fracture,也可以实现网格破碎效果,且功能与OpenFracture略有差异。

努力前行,总会成为自己心中的那道光 1万+

MapReduce参数调优

设置Mapreduce参数调优其个数,以及如何保证输出端的小文件合并等问题

m0_70949976的博客 2878

真正让你明白Hive参数调优系列1:控制map个数与性能调优参数

本系列几章系统地介绍了开发中Hive常见的用户配置属性(有时称为参数,变量或选项),并说明了哪些版本引入了哪些属性,常见有哪些属性的使用,哪些属性可以进行Hive调优,以及如何使用的问题。以及日常Hive开发中如何进行性能调优。 1.Hive有哪些参数,如何查看这些参数 Hive自带的配置属性列表封装在HiveConfJava类中,因此请参阅该HiveConf.java文件以获取Hi...

涤生大数据 3万+

hadoop中如何控制map的数量

hadoop中如何控制map的数量@(HADOOP)[hadoop]hadooop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数。但是通过这种方式设置map的个数,并不是每次都有效的。原因是mapred.map.tasks只是一个hadoop的参考数值,最终map的个数,还取决于其他的因素。为了方便介绍,先来看几个名词: block_size

jediael_lu的专栏 3147

hive优化总结

1.我们知道大数据场景下不害怕数据量大,害怕的是数据倾斜,怎样避免数据倾斜,找到可能产生数据倾斜的函数尤为关键,数据量较大的情况下,慎用count(distinct),count(distinct)容易产生倾斜问题。 2.设置合理的map reduce 的task数量 map阶段优化 mapred.min.split.size: 指的是数据的最小分割单元大小;min的默认值是1B mapred.m...

xuxu96 4762

Hive参数调优系列1:控制map个数与性能调优

本系列⼏章系统地介绍了开发中Hive常见的⽤户配置属性(有时称为参数、变量或选项),并说明了哪些版本引⼊了哪些属性,常见有哪些属性的使⽤,哪些属性可以进⾏Hive调优,以及如何使⽤的问题。以及⽇常Hive开发中如何进⾏性能调优。 1.Hive有哪些参数,如何查看这些参数 1. Hive⾃带的配置属性列表封装在HiveConfJava类中,因此请参阅该HiveConf.java⽂件以获取Hive版本中可⽤的配置属性的完整列表。具体可以下载hive.src通过idea查看。全部属性有上千个吧,...

Samooyou的博客 2627

Hive优化

概述: 一个Hive查询生成多个map reduec job,一个map reduce job又有mapreduce,spill,Shuffle,sort等几个阶段,所以针对Hive查询的优化可以大致分为针对MR中单个步骤的优化(其中又会分细节),针对MR全局的优化,和针对整个查询(多MR job)的优化,下文会分别阐述。 在开始之前先把MR的流程图贴出来(摘自Hadoop权威指南)

lavimer 1492

大数据开发之小文件合并

文件的平均大小=分区大小/文件数,理想情况下,文件的平均大小在128MB~256MB之间,如果文件的平均大小过于小,则认为数据表里小文件过多,可以进行文件的合并。

julyclj55555的博客 1768

MapReduce的优化(超级详细)

通过将数据划分为多个分区、使用压缩算法减小数据的大小和增加并行度等手段,可以显著提高MapReduce的处理速度和效率。在上述代码中,首先通过partition_data函数根据数据的哈希值来将数据划分为两个分区,然后使用map_function函数在每个分区上执行map操作,计算每个单词的出现次数。在上述代码中,map_function函数对每个分区的数据进行排序,并返回排序后的结果。但是,需要平衡数据复制的开销和容错的收益。(2)任务合并:将多个小的任务合并为一个大的任务,并以批处理的方式来执行。

互联网知识分享 1534

hive优化(1)

Hivemap端存在三个配置参数:set mapred.max.split.size=256000000; set mapred.min.split.size.per.node=256000000; set mapred.min.split.size.per.rack=256000000; set hive.input.format=org.apache.hadoop.hive.ql.io...

Winner941112的博客 355

hive中控制mapreduce数量的简单实现方法

hive中控制mapreduce数量的简单实现方法 标签: hivemapreducemap数reudce数 2016-03-06 17:17 2690人阅读 评论(0) 收藏 举报  分类: hive(2)  版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] 0、先说结论:   由于m

张伟的专栏 1139

MapReduce数量调整

建议根据实际数量调整split大小,最大reduce数设置不超过3000;Reduce Split大小设置:<1亿/256M,1-10亿/512M,10-50亿/1024M,50-100亿/2048M,>100亿/3072M。建议根据实际数据量调整split大小,<1亿/256M,1-10亿/512M,10-50亿/1024M,50-100亿/2048M,>100亿/3072M。

yuqiangdmp的博客 343

Hadoop新版本中map任务待处理split大小的计算方法

1. split大小的计算公式    minSize=max{minSplitSize,mapred.min.split.size} (minSplitSize大小默认为1B)    maxSize=mapred.max.split.size(不在配置文件中指定时大小为Long.MAX_VALUE)    splitSize=max{minSize,min{maxSize,blockSize...

weixin_30906701的博客 394

Hive如何设置Map个数和Reduce个数

根据输入文件估算Reduce的个数可能未必很准确,因为Reduce的输入是Map的输出,而Map的输出可能会比输入要小,所以最准确的数根据Map的输出估算Reduce的个数。比如有一个127M的文件,正常会用一个map去完成,但这个文件只有一个或者两个小字段,却有几千万的记录,如果map处理的逻辑比较复杂,用一个map任务去做,肯定也比较耗时。从Hive的角度看,小文件会开很多map,一个map开一个JVM去执行,所以这些任务的初始化,启动,执行会浪费大量的资源,严重影响性能。...

weixin_47681855的博客 4236

hive merge小文件

Hive输入由很多个小文件组成,由于每个小文件都会启动一个map任务,如果文件过小,以至于map任务启动和初始化的时间大于逻辑处理的时间,会造成资源浪费,甚至OOM。 为此,当我们启动一个任务,发现输入数据量小但任务数量多时,需要注意在Map前端进行输入合并 当然,在我们向一个表写数据时,也需要注意输出文件大小 1. Map输入合并小文件 对应参数: set mapred.max.

An342647823的专栏 2394

设置MapReduce的Split大小

因为我们的应用中处理的记录都是固定长度的,就是说所有数据都是由固定长度的记录构成的。这里用recordSize表示一个记录的大小,记录在处理处理过程中要保持完整性,所以在设置Split大小时,开始的实现代码为: int blockSize = Integer.parseInt(args[0]); //args[0]为输入参数,表示用户希望设置的Split大小 int splitSize...

weixin_30733003的博客 534

hadoopsplit大小设置和map数量设置

三个参数决定split 1.mapred.min.split.size 2.mapred.max.split.size 3.dfs.block.size 根据公式: max(minimumSize,min(maximumSize,blockSize)) 默认情况: minimumSize < blockSize < maximumSize min默认为1,max默认为long类型...

开发随笔-猫咪酱 2926

如何在hadoop中控制map的个数

hadooop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数。但是通过这种方式设置map的个数,并不是每次都有效的。原因是mapred.map.tasks只是一个hadoop的参考数值,最终map的个数,还取决于其他的因素。      为了方便介绍,先来看几个名词: block_size : hdfs的文件块大小,默认为64M,可以通过参

lylcore的专栏 2万+

外场实测ISAR成像数据集,含MATLAB处理脚本与原始数据说明

提供一套完整的外场采集ISAR成像数据资源,包含data.mat原始信号数据文件、isar2.m主处理脚本(支持距离-多普勒成像流程)、ISAR2子目录(含中间处理数据结构)以及data说明2.txt详细文档。数据可用于验证ISAR成像算法性能,复现距离压缩、运动补偿、方位压缩等关键步骤,适配常规雷达信号处理教学与算法开发场景。所有文件经实际外场试验采集整理,具备真实散射特性与时频特征,可直接导入MATLAB环境运行分析,无需额外配置或转换。

上一篇: spark sql 报错 Can‘t zip RDDs with unequal numbers of partitions
下一篇: hive 高级分组聚合(grouping sets cube和rollup)
大数据队长
博客等级 码龄5年 2粉丝 · 5原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值