问题标签 [reducers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1588 浏览

clojure - Why is there no significant speedup using reducers in this example?

And who can show me an example with significant speedup?

I'm running on Mac OSX 10.7.5 with Java 1.7 on an Intel Core i7 (2 cores, http://ark.intel.com/products/54617).

0 投票
2 回答
129 浏览

hadoop - 关于在 map reduce 中洗牌的查询

运行映射器的节点处理如何知道它必须将一些键值输出发送到节点 A(运行减速器)和一些到节点 B(运行另一个减速器)?JobTracker 是否在某个地方维护了减速器节点列表?如果是,它如何选择一个节点来运行reducer?

0 投票
4 回答
7163 浏览

python - Python - 在 MapReduce 中实现连接 - 减速器输出问题

这是我在 Coursera 上做的数据科学课程中的硬件任务的求助电话,因为我无法在 Coursera 论坛上获得任何建议。我已经编写了代码,但不幸的是输出没有返回预期的结果。这是手头的问题:

任务:将关系连接实现为 MapReduce 查询

输入(映射器):

输入将是格式化为字符串列表的数据库记录。每个列表元素对应于其对应记录中的不同字段。每条记录中的第一项(索引 0)是一个字符串,用于标识该记录来自哪个表。该字段有两个可能的值:

  1. 'line_item' 表示该记录是一个行项目。2.'order'表示该记录是一个订单。

每条记录中的第二个元素(索引 1)是 order_id。LineItem 记录有 17 个元素,包括标识符字符串。订单记录有 10 个元素,包括标识符字符串。

输出(减速机):

输出应该是一个连接的记录。

结果应该是一个长度为 27 的列表,其中包含来自订单记录的字段,后跟来自行项目记录的字段。每个列表元素都应该是一个字符串。

我的代码是:

我收到的错误消息是“预期:31 条记录,得到 0”。

此外,预期的输出记录应该是这样的——只有一个列表,所有记录集中在一起,没有任何重复数据删除。

很抱歉问题很长,而且有点乱,但我希望答案对某人来说是显而易见的。

对我有用的类似代码:

谢谢!谢尔盖

0 投票
2 回答
9158 浏览

java - 在hadoop的hdfs中保存json数据

我有以下 Reducer 类

通过示例(免责声明:此处为新手),我可以看到一般输出类型似乎就像键/值存储。

但是如果我在输出中没有任何键怎么办?或者如果我的输出是其他格式(在我的情况下为 json),我想怎么办?

无论如何,从上面的代码:我想将json对象写入 HDFS?

这在 Hadoop 流中非常简单。但是我如何在 Hadoop java 中做到这一点?

0 投票
1 回答
1526 浏览

hadoop - 在 MapReduce 中,如何在处理 X 条记录后停止减速器

我正在使用 Mapper 加载具有执行时间和与之关联的大型查询的大量数据。我只需要找到 1000 个最昂贵的查询,所以我将执行时间作为我的输出的关键映射器。我使用 1 个减速器,只希望写入 1000 条记录并且减速器停止处理。

我可以有一个全局计数器并执行此操作 if(count < 1000) { context.write(key,value) }

但这仍然会加载所有数十亿条记录,然后不写入它们。

我希望减速器在吐出 1000 条记录后停止。那里通过避免寻找下一组记录的时间和读取时间。

这可能吗??

0 投票
1 回答
6647 浏览

hadoop - understanding custom partitioner in hadoop

i am learning partitioner concept now.can any one explain me the below piece of code.it is hard for me to understand

how this taggedKey.getJoinKey().hashCode() % numPartitions determine which reducer to be executed for a key?

can any one explain me this?

0 投票
0 回答
276 浏览

hadoop - 为什么没有 order by/sort by 子句的 hive 查询会以单个 reducer 结束?

我有一个与流作业相关联的简单查询,其中没有 order by 语句。

这是一个中等规模的集群(几十台机器),映射器的数量超过两千。为什么需要一个减速器?

0 投票
3 回答
2249 浏览

hadoop - 设置 Amazon EMR 应用程序的 Reducer 数量

我正在尝试在 Amazon EMR 下运行 wordcount 示例。

-1- 首先,我使用以下命令创建一个集群:

./elastic-mapreduce --create --name "MyTest" --alive

这将创建一个具有单个实例的集群并返回一个 jobID,比如说 j-12NWUOKABCDEF

-2- 其次,我使用以下命令启动作业:

./elastic-mapreduce --jobflow j-12NWUOKABCDEF --jar s3n://mybucket/jar-files/wordcount.jar --main-class abc.WordCount --arg s3n://mybucket/input-data/

--arg s3n://mybucket/output-data/

--arg -Dmapred.reduce.tasks=3

我的 WordCount 类属于包 abc。

这执行没有任何问题,但我只得到一个减速器。这意味着参数“mapred.reduce.tasks=3”被忽略。

有没有办法指定我希望我的应用程序使用的减速器数量?

谢谢你,尼拉杰。

0 投票
2 回答
338 浏览

java - Hadoop Mappers 是否仅在本地执行?

我有一种情况,文件的整个块位于一台机器上,默认复制因子为 1。

在这种情况下,如果我在集群上启动 hadoop,我觉得我的所有映射任务都只能在一台机器上运行,因为块只存在于那台机器上。这样对吗?本地映射器任务执行是一个约束还是一个优先级?
如果是,是否可以通过将块复制到本地磁盘来配置映射器任务也在其他机器上运行。?

第二个问题是,即使mapper任务只在一台机器上运行,通过复制mapper的中间数据在所有其他机器上启动reducer是否正确?

0 投票
1 回答
1468 浏览

python - 如何使用 mrjob mapper reducer 在 Python 中编写迭代,其中计数器是循环中计算的一部分?

我有一个程序可以n连续迭代映射器和减速器时间。但是,对于每次迭代,每个键值对的映射器都会计算一个取决于 的值n

我定义了一个两步映射器减速器,这样第一个定义了一个类变量,self.count. 程序产生错误,AttributeError: 'MRWord' object has no attribute 'count'. 似乎每个步骤都定义了一个独立的 mrjob 类对象,并且该变量不能共享。还有另一种方法可以做到这一点吗?