草庐IT

reducer-combiner

全部标签

Hadoop - Reducers 花费大量时间写入数据(多个输出)

所以我正在使用org.apache.hadoop.mapreduce.lib.output包中的MultipleOutputs。我有一个reducer,它正在连接2个数据源并发出3个不同的输出。调用了55个reduce任务,平均每个任务需要大约6分钟来发出数据。有大约11分钟的异常值。所以我观察到,如果我评论实际输出发生的部分,即调用mos.write()(多输出),那么平均时间减少到几秒,整个工作完成大约2分钟。我确实有很多数据要发送(大约40-50GB)。在考虑和不考虑压缩的情况下,我可以做些什么来加快速度。详细信息:我正在使用TextOutputFormat并提供一个hdfs路径

java - 是否可以使用 hadoop 2.5.2 在 oozie 4.1.0 中运行 map reduce 作业

我是oozie的新手,可以在oozie4.1.0和hadoop2.5.2中运行mapreduce作业吗???请多指教! 最佳答案 应该是内存问题吧。在yarn-site.xml中设置以下属性并尝试运行作业,yarn.nodemanager.resource.memory-mb20960 yarn.scheduler.minimum-allocation-mb512yarn.scheduler.maximum-allocation-mb2048 关于java-是否可以使用hadoop2.5

java - Map Reduce 作业从 Windows 提交到 Linux 时失败(Cent OS)

从Windows向Linux提交map-reduce作业时出现以下错误。容器ID:container_1422288303092_0045_02_000001Exitcode:1Stacktrace:ExitCodeExceptionexitCode=1:atorg.apache.hadoop.util.Shell.runCommand(Shell.java:538)atorg.apache.hadoop.util.Shell.run(Shell.java:455)atorg.apache.hadoop.util.Shell$ShellCommandExecutor.execute(S

python - 使用 Python map reduce 进行 Avro 数据序列化

我有avro数据存在于hdfs文件系统中。我想使用pythonmapreduce读取那些avro数据。我知道如果我必须使用java那么我们可以使用AvroMapper和AvroReducer但使用python我不太确定。这里的任何人都对此进行过研究,或者任何建议都会有很大帮助。提前致谢。 最佳答案 你可以用Pydoop做到这一点>=1.0.0-rc2。这是颜色计数示例的样子:fromcollectionsimportCounterimportpydoop.mapreduce.apiasapiimportpydoop.mapreduc

java - 如何使用 Map Reduce 按最新日期记录?

我最近开始学习mapreduce编程。因此,出于这些目的,我从一个场景开始。我在哪里有样本数据,如帐号、余额和交易日期。所以我希望通过帐号进行最新交易。这是我的输入:+-------+-------+------------+|accno|bal|date|+-------+-------+------------+|13611|3360|2015-09-18||13611|1500|2015-09-19||13620|10000|2015-09-17||13620|6000|2015-09-18||13620|3000|2015-09-19||13631|5000|2015-09-1

hadoop - 如何防止由于 reduce task 失败而导致 hadoop 失败

我在AWSEMRhadoop2.2.0版本中运行了一个s3distcp作业。在3次尝试后,作业保持失败,reducer任务失败。我也都试过了:mapred.max.reduce.failures.percentmapreduce.reduce.failures.maxpercent要50到ooziehadoop操作配置和mapred-site.xml。但作业仍然失败。这是日志:2015-10-0214:42:16,001INFO[main]org.apache.hadoop.mapreduce.Job:TaskId:attempt_1443541526464_0115_r_000010

hadoop - 从作业日志中查找 reducers 的数量

在mapreduce中,我想从程序日志中找出mappers和reducers的数量。作为输入,我将三个文件传递给程序,并将缩减器的数量明确设置为5(仅用于测试目的)。程序:publicclassWordCount{publicstaticclassMapextendsMapper{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,Inter

java - Combiner 逻辑是否始终与 Reducer 逻辑相同?

HadoopMapReduce中的Combiner逻辑和Reducer逻辑总是一样的吗?或者是否存在Combiner逻辑与Reducer逻辑不同的场景? 最佳答案 Combiner类和Reducer类可能相同也可能不同,具体取决于您的要求。但是Combiner和Reducer都必须通过扩展Reducer来实现reduce()方法例如publicvoidreduce(Keykey,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{如果Combine

hadoop - 如果在 Hadoop Map Reduce 中定义了自定义分区程序,默认哈希分区程序是否仍然有效?

由于我是hadoop的新手,我尝试了http://www.tutorialspoint.com/map_reduce/map_reduce_partitioner.htm中的示例代码我发现该程序根据年龄组使用了3个不同的分区,并且还使用了3个reducer,这是预期的。但是在reducer代码中(这里的性别是男/女的关键)我仍然得到,我假设这个值列表创建是由散列分区程序完成的。但是正如我定义的getPartitions(),谁来创建这个列表? 最佳答案 在上面的示例代码中,我们在运行方法中有以下驱动程序代码--Configurati

java - 使用 elasticsearch-hadoop map-reduce 将 json 从 HDFS 写入 Elasticsearch

我们将一些json数据存储到HDFS中,我们正在尝试使用elasticsearch-hadoopmapreduce将数据提取到Elasticsearch中。我们使用的代码非常简单(下)publicclassTestOneFileJobextendsConfiguredimplementsTool{publicstaticclassTokenizerextendsMapReduceBaseimplementsMapper{@Overridepublicvoidmap(LongWritablearg0,Textvalue,OutputCollectoroutput,Reporterrepo