这个问题最初是我的作业,但我的回答是错误的,我很好奇这个问题的最佳解决方案是什么.
目标是使用4个map reduce步骤计算"Recommender System bootstrapping algorithm"的关键方面.我的问题是第3步,所以我只带来它的细节.
输入:表格记录:
1.(人口ID,项目,评级用户数,评级总和,平均等级之和)
2.(人口ID,分配器项目,喜欢/不喜欢者,项目,评级用户数量,总和评级,平均等级总和)
第二种形式非常类似于第一种形式,但是每种形式的记录(分离者,喜欢者/不喜欢者) - 喜欢/不喜欢的人是布尔值.
这意味着(我认为)有2 ^ |项目| 来自第一种形式的每条记录的秒形式的记录......(许多同学做错了(再次,我认为......)假设有相同数量的第一和第二形式记录)
任务描述:
此步骤将根据分割器电影计算每部电影引起的平方误差(SE).
暗示:
假设存在一个字符串(在系统的排序顺序中)之前的任何分割器影片ID.
这必须在一个mapreduce步骤中完成!
其他背景:
这是在"The Netflix Challange"的背景下学到的.
SE定义:

编辑:有关问题的其他材料[有关netflix挑战的一些描述和有关问题的数学信息]可以在此链接中找到[幻灯片12-24特别]
EDIT2:请注意,由于我们使用的是map/reduce,因此我们无法假设任何有关ORDER记录的内容将被处理[在map和reduce中].
我认为我对MapReduce编程模型有一般的了解,但即使在阅读了原始论文和其他一些资料之后,我也不清楚许多细节,特别是关于中间结果的分区.
到目前为止,我将快速总结一下我对MapReduce的理解:我们有一个非常大的输入数据集,它由MR-Framework自动分成M个不同的部分.对于每个部分,框架调度一个映射任务,该任务由我的集群中的一个可用处理器/机器执行.M个映射任务中的每一个输出一组键值对,其本地存储在执行该映射任务的同一机器上.每台机器将其磁盘划分为R个分区,并根据分区之间的中间密钥分配其计算的中间密钥值对.然后,框架为每个不同的中间密钥启动一个reduce任务,该任务再次由任何可用的机器执行.
现在我的问题是:
从概念上讲,很清楚地图的输入和输出以及减少功能/任务是什么.但我认为我还没有在技术层面上理解MapReduce.有人可以帮我理解吗?
如何在Erlang for CouchDB中编写map-reduce函数?我确信Erlang比JavaScript更快.
我使用Ruby代码来计算Mongoid返回的数组的总和.
但也许使用Map/Reduce会更快,除了我在mongoid.org和Google上看不到Map Reduce的任何文档
map reduce site:mongoid.org
Run Code Online (Sandbox Code Playgroud)
也没有给出任何结果.(或使用MapReduce或Map/Reduce)
MongoDB的网站上有文档
map reduce site:mongodb.org
Run Code Online (Sandbox Code Playgroud)
但是也需要使用Map Reduce和Mongoid.
组合器在Mapper之后运行,在Reducer之前,它将接收Mapper实例在给定节点上发出的所有数据作为输入.然后将输出发送到Reducers.
而且,如果reduce函数既是可交换的又是关联的,那么它可以用作组合器.
我的问题是" 交换和联想 "这个词在这种情况下意味着什么?
Hadoop Map Reduce和Google Map Reduce有什么区别?
是否只是Hadoop为map reduce和其他提供标准化?差异之中还有什么.
嗨,我想知道jobconf和job对象之间的基本区别,目前我正在提交我的工作
JobClient.runJob(jobconf);
Run Code Online (Sandbox Code Playgroud)
我看到了提交这样的工作的其他方式
Configuration conf = getConf();
Job job = new Job(conf, "secondary sort");
job.waitForCompletion(true);
return 0;
Run Code Online (Sandbox Code Playgroud)
如何使用jobconf为作业指定sortcomparator类?
任何人都可以向我解释这个概念吗?
I am new to parallel computing and just starting to try out MPI and Hadoop+MapReduce on Amazon AWS. But I am confused about when to use one over the other.
For example, one common rule of thumb advice I see can be summarized as...
But then, I also see implementation of MapReduce on MPI (MR-MPI) which does not provide fault tolerance but seems …
有人可以解释一下:
什么是可写和可写的Hadoop中的可比接口?
这两者有什么不同?
请举例说明.
提前致谢,
我试图将简单的字数作为MapReduce作业运行.在本地运行时一切正常(所有工作都在名称节点上完成).但是,当我尝试使用YARN(添加mapreduce.framework.name= yarnmapred-site.conf)在集群上运行它时,作业挂起.
我在这里遇到了类似的问题: MapReduce作业陷入了Accepted状态
工作输出:
*** START ***
15/12/25 17:52:50 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/12/25 17:52:51 WARN mapreduce.JobResourceUploader: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this.
15/12/25 17:52:51 INFO input.FileInputFormat: Total input paths to process : 5
15/12/25 17:52:52 INFO mapreduce.JobSubmitter: number of splits:5
15/12/25 17:52:52 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1451083949804_0001
15/12/25 17:52:53 INFO impl.YarnClientImpl: Submitted application application_1451083949804_0001
15/12/25 17:52:53 INFO …Run Code Online (Sandbox Code Playgroud)