草庐IT

reducer-combiner

全部标签

java - 是否有 'reduce' 的类型安全 Java 实现?

我经常需要在java中运行reduce(也称为foldl/foldr,具体取决于您的上下文)来聚合Itterable的元素。Reduce采用集合/可迭代等,一个有两个参数的函数,以及一个可选的起始值(取决于实现细节)。该函数依次应用于集合中的一个元素和先前调用reduce的输出,直到处理完所有元素,并返回最终值。在任何常见的javaapi中是否有reduce的类型安全实现?GoogleCollections似乎它应该有一个,但我没能找到它。(可能是因为我不知道它会使用什么其他名称。) 最佳答案 根据您的描述,您可能很容易推出自己的通

hadoop - map reduce中的Total order sorting和secondary sorting有什么区别?

我想探索总排序和二次排序。谁能解释一下哪种用例适合这两种模型? 最佳答案 二级排序是一种允许MapReduce程序员控制值在reduce函数调用中显示的顺序的技术。跨所有reducer对Map输出键进行排序称为TotalOrder排序。请查看以下链接,https://www.quora.com/What-is-secondary-sort-in-Hadoop-and-how-does-it-workhttp://blog.ditullio.fr/2016/01/04/hadoop-basics-total-order-sorting

java - Hadoop map-reducer 没有写入任何输出

我正在处理一个三节点Hadoopmapreduce问题,该问题旨在采用200,000行input.csv以日期和点值作为标题的文件(25行示例数据的要点:https://gist.githubusercontent.com/PatMulvihill/63effd90411efe858330b54a4111fadb/raw/4033695ba5ca2f439cfd1512358425643807d83b/input.csv)。该程序应该找到任何不是以下值的点值:200,400,600,800,1000,1200,1600,or2000.那个点值应该是值。键应该是从该点值之前的值中的日期开

hadoop-mapreduce reducer-combiner 输入

我正在学习一些MapReduce,但遇到了一些问题,情况如下:我有两个文件:“用户”包含用户列表以及他们的一些数据(性别、年龄、国家等...)文件如下所示:user_000003m22UnitedStatesOct30,2005“songs”包含所有用户收听的歌曲数据(userid、收听日期和时间、artistid、artistname、songid、songtitle):user_0009992008-12-11T22:52:33Zb7ffd2af-418f-4be2-bdd1-22f8b48613daNineInchNails1d1bb32a-5bc6-4b6f-88cc-c043

java - Hadoop reducer 接收到错误的数据

我同时运行了很多JobControls,它们都具有相同的一组ControlledJobs。每个JobControl按日期范围处理一组不同的输入/输出文件,但它们都是类型。我观察到的问题是,reduce步骤正在接收设计为由处理不同日期范围的reducer处理的数据。日期范围由Job设置,用于确定输入和输出,并从reducer中的上下文中读取。如果我按顺序提交JobControls,这将停止,但这并不好。这是我应该用自定义分区程序解决的问题吗?如果我不知道哪个reducer正在处理我当前的日期范围,我什至如何确定key的正确reducer?为什么实例化的reducer不会锁定到它们的Job

hadoop - 在 hadoop 中 - 文件拆分的 Map-Reduce 错误

当我在map类中使用以下行时:StringfileName=((FileSplit)context.getInputSplit()).getPath().getName();System.out.println(fileName);我得到一个空的输出文件。此外,控制台的最后两行是:14/05/0612:52:53INFOmapred.JobClient:Mapoutputrecords=014/05/0612:52:53INFOmapred.JobClient:SPLIT_RAW_BYTES=2127 最佳答案 问题出在System

java - 尝试进行 hbase 批量加载作业时,reducer 使用布隆过滤器提示无序输入

我正在使用我这样设置的map-reduce作业进行大规模hbase导入。job.setMapOutputKeyClass(ImmutableBytesWritable.class);job.setMapOutputValueClass(Put.class);job.setMapperClass(BulkMapper.class);job.setOutputFormatClass(HFileOutputFormat.class);FileInputFormat.setInputPaths(job,newPath(inputPath));FileOutputFormat.setOutput

hadoop - Map Reduce Job 在一个时间窗口中找到流行的项目

我在面试中被问到这个问题,我不确定我是否给出了正确的答案,所以我想了解一些见解。问题:存在用户和项目流。每分钟,我都会收到一个元组列表(用户、项目),表示用户u消费了项目i。我需要找到过去一小时内前100个热门商品,即计算每个商品有多少用户消费并排序。这里的技巧是,在过去的一个小时内,如果同一个用户多次消费同一个商品,则只考虑消费1次。不允许同一用户重复消费。面试官说我应该想大点,每小时有几百万的消费。因此,他建议我做一个map-reduce工作或每分钟可以处理如此大量数据的工作。我想出的解决方案:我说我可以维护一个列表(或者矩阵,如果你愿意的话)消耗的用户-项目-时间戳元组,就好像有

java - 整洁架构 : Combining Interactors

我最近偶然发现了CleanArchitecture,作者Bob叔叔,我很想知道交互器是否可以执行其他交互器。例如,这些是我目前的交互器:getEmptyAlbums、getOtherAlbums。两者都有回调,分别返回专辑列表(专辑模型的ArrayList)。我是否可以使用一个名为getAllAlbums的交互器来执行其运行block中的前两个交互器?@Overridepublicvoidrun(){getEmptyAlbums.execute();}voidonEmptyAlbumsReceived(ArrayListalbums){getOtherAlbums.execute;}v

c# - URL 的 Path.Combine(第 2 部分)

一段时间以来,我一直在寻找适用于URL的Path.Combine方法。这类似于Path.CombineforURLs?有一个很大的不同。我将举例说明。假设我们有一个基本url:http://example.com/somefolder和一个文件:foo.txt。因此,完整路径为:http://example.com/somefolder/foo.txt。听起来很简单,对吧?哈。我尝试了Uri类:Uri.TryCreate(newUri("http://example.com/somefolder"),"foo.txt",outx);结果是“http://example.com/foo.