标签: mapreduce

如何使用 java 流从列表中获取前 5 个最大值

我有一个整数列表

List<Integer> lst = new ArrayList<>();
lst.add(10);
lst.add(15);
lst.add(16);
lst.add(8);
lst.add(100);
lst.add(1);
lst.add(40);
Run Code Online (Sandbox Code Playgroud)

如何编写代码以便我可以从列表中获取前 5 个最大元素,即100, 40, 16, 15, 10

我尝试过使用 Java 流 API:

Integer var = lst.stream().max(Integer::compare).get();
Run Code Online (Sandbox Code Playgroud)

但只得到一个值元素。

java reduce mapreduce collect java-stream

1
推荐指数
1
解决办法
7499
查看次数

Kotlin - 如何在映射操作后将对象列表转换为单个对象?

我正在尝试了解 Kotlin 中的映射归约操作。至少,我想这减少了我想做的事情。

假设我有一个名为Car的类,它接受任意数量的CarPart (可变参数构造函数) 。然后,我有一个CarPart列表,我将对其进行映射操作,根据操作结果,我需要使用每个子元素构建一辆 汽车,大致如下:

class CarPart(val description: String)
class Car(vararg val carPart: CarPart)

val carParts = listOf(CarPart("Engine"), CarPart("Steering Wheel")))

carParts.map { it.description.toUpperCase() }
    .map { CarPart(it) }
    .reduce { acc, carPart -> Car(carPart) }  <--- I'm struggling here, is reduce what I should be doing 
                                                   to construct one car from all the subelement?
Run Code Online (Sandbox Code Playgroud)

PS.1:我知道类设计可以更好,并且不采用可变参数,这只是我正在重构的遗留应用程序的一个示例,最初这是一个采用可变参数的 Java 类,我现在无法更改。

PS.2:映射到字符串然后从该字符串创建对象的示例只是为了示例。实际代码抓取列表中的一个对象。

reduce functional-programming mapreduce kotlin

1
推荐指数
1
解决办法
3384
查看次数

如何在工作完成前重新运行hadoop中的整个map/reduce?

我使用Java使用Hadoop Map/Reduce

假设,我已完成整个地图/减少工作.有没有什么方法可以重复整个地图/减少部分,而不会结束工作.我的意思是,我不想使用不同作业的任何链接,但只希望map/reduce部分重复.

谢谢!

java hadoop mapreduce chain

0
推荐指数
1
解决办法
3930
查看次数

使用Mapreduce进行递归计算

我正在研究map reduce program并且正在考虑设计表单的计算,其中a1, b1的值是与键相关联的值

  a1/b1, a1+a2/b1+b2, a1+a2+a3/b1+b2+b3 ...
Run Code Online (Sandbox Code Playgroud)

因此,在减速器的每个阶段,我都需要先前的值.如何将此设计为地图减少,因为在每个阶段只能读取与特定键相关联的值.

如果您觉得问题不明确,您可以引导我解决这个一般性问题吗?

更一般的问题:如何在map reduce中使用递归开发Fibonacci系列?

编辑

你能帮我修改我的设计吗?

 key1, V1,V2,V3
 Key2, V4,V5,V6
Run Code Online (Sandbox Code Playgroud)

映射器输出

  Key1_X V1
  Key1_Y V2
  Key2_X V4
  Key2_Y V5
Run Code Online (Sandbox Code Playgroud)

减速机输出

  Key1_X {V1,.....}
  Key1_Y {V2,.....}
Run Code Online (Sandbox Code Playgroud)

同样,现在在下一个映射器阶段.我可以创建这样的列表:

   key1 {V1,....} {V2,....}
   Key2 {V4,....} {V5,....}
Run Code Online (Sandbox Code Playgroud)

我这样做的理由是执行:

   Key1 {V1/V2, V1+V6/V2+V7, V1+V6+..../V2+V7+.. , .........}
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?因为数据集非常大,所以我认为使用map reduce会更好.

更改设计有助于提高效率吗?

java hadoop mapreduce

0
推荐指数
1
解决办法
2550
查看次数

为什么所有减少任务都在一台机器中结束?

我在Hadoop平台(cloudera发行版)中编写了一个相对简单的map-reduce程序.除常规map-reduce任务外,每个Map&Reduce都会将一些诊断信息写入标准输出.

但是,当我查看这些日志文件时,我发现Map任务在节点之间相对均匀分布(我有8个节点).但是reduce任务标准输出日志只能在一台机器上找到.

我想,这意味着所有的reduce任务最终都会在一台机器上执行,而这是有问题和令人困惑的.

有谁知道这里发生了什么?是配置问题?如何使减少作业均匀分布?

hadoop load-balancing mapreduce

0
推荐指数
1
解决办法
842
查看次数

mapreduce与其他并行处理解决方案

因此,问题是:1.对于以下问题,mapreduce开销是否过高?有没有人知道每个地图/减少周期(例如迪斯科)需要多长时间才能完成一项非常轻松的工作?2.对于这个问题,mapreduce有更好的替代方案吗?

在地图缩减术语中,我的程序由60个地图阶段和60个减少阶段组成,所有这些阶段需要在1秒内完成.我需要以这种方式解决的问题之一是使用大约64000个变量的最小搜索.用于搜索的粗糙矩阵是块矩阵,沿对角线的1000个块大小为64×64,并且在最右侧和底部具有一行块.最后一部分:块矩阵求逆算法显示了这是如何完成的.可以在一个mapreduce步骤中计算Schur补码S_A和S_D中的每一个.逆的计算又需要一步.

从我迄今为止的研究来看,mpi4py似乎是一个不错的选择.每个流程都可以执行计算步骤,并在每个步骤之后向客户端报告,客户端可以使用新的状态变量向后报告,以便继续循环.这样,过程状态不会丢失,计算可以通过任何更新继续进行. http://mpi4py.scipy.org/docs/usrman/index.html

这个wiki有一些建议,但有没有人对最发达的解决方案有一个方向:http: //wiki.python.org/moin/ParallelProcessing

谢谢 !

mapreduce mpi disco

0
推荐指数
1
解决办法
1507
查看次数

0
推荐指数
1
解决办法
466
查看次数

有关Nutch,Hadoop,Solr,MapReduce和Mahout的信息

PS:如果我在任何方面都错了,请纠正我

我正在用Nutch和Solr建立一个搜索引擎.
我知道通过使用Solr,我可以提高搜索的效率 - 让Nutch独自完成整个网络的爬行.
我也知道Hadoop用于通过形成集群和MapReduce来处理数PB的数据.

现在,我想知道的是
1)因为,我将只在一台机器上运行这些开源软件,也就是说,我的笔记本电脑在localhost上运行......在我的情况下,Hadoop如何形成集群是多么有益?如何在一台机器上形成集群?

2)在我的案例中,MapReduce的重要性是什么?

3)MAHOUT,CASSANDRA和HBASE如何影响我的发动机???

非常感谢这方面的任何帮助.如果我问一个菜鸟问题,请告诉我!
谢谢你
的问候

solr hadoop mapreduce nutch mahout

0
推荐指数
1
解决办法
1061
查看次数

Hadoop上的外部/ jar文件存储在哪里?

让我说我写一个WordCount示例,然后在eclipse项目中包含一个外部jar文件,如MyJar.jar.现在,如果我将整个WordCount项目导出为word.jar文件,然后键入

$> hadoop jar word.jar WordCount input output
Run Code Online (Sandbox Code Playgroud)

我知道作业执行,word.jar将有一个包含MyJar.jar文件的lib目录.现在,HDFS将在作业运行时存储此jar文件MyJar文件,从而调用此jar文件的方法?

hadoop mapreduce hdfs

0
推荐指数
1
解决办法
2112
查看次数

如何从Hadoop中的HDFS文件中读取序列化对象

我已将类型为LibSVM的对象序列化为名为j48.model的文件.此文件已传输到HDFS文件系统.

现在,在hadoop mapreduce代码中,如何反序列化此对象并将其读回到类LibSVM的实例中?我已将与LIBSVM相关的.jar文件作为外部jar文件包含在ma reduce项目中.

什么JAVA方法帮助我将文件j48.model的内容读入LibSVM对象?

hadoop mapreduce hdfs

0
推荐指数
1
解决办法
1643
查看次数