问题标签 [reduce]

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 投票
1 回答
2889 浏览

database - 在 CouchDB 中使用 map reduce 输出更少的行

假设您有两种文档类型,客户订单客户文档包含姓名、地址等基本信息,订单包含客户每次订购商品时的所有订单信息。存储文件时,type = order 或 type = customer。

如果我对一组 10 个客户和 30 个订单执行地图功能,它将输出 40 行。有些行是客户,有些是订单。

问题是,我如何编写reduce,以便将订单信息“填充”在包含客户信息的行中?所以它将返回 10 行(10 个客户),但每个客户的所有相关订单。

基本上我不想在输出上单独记录,我想将它们组合起来(订单到一个客户行中),我认为减少是方法?

0 投票
2 回答
6344 浏览

python - 从 2 元组列表创建字典

我有一个这样的 2 元组列表:

我希望能够将它映射到一个字典对象上,这样我就可以做类似的事情

所以我尝试了这个,但为什么它失败了?

这给出了错误:

AttributeError:“NoneType”对象没有属性“更新”

我究竟做错了什么?

0 投票
2 回答
2915 浏览

couchdb - 在 CouchDB 中“合并”视图排序规则到有用的输出中

在 CouchDB 中进行“加入”时,您可以使用视图排序规则将记录分组在一起。例如,有两种文档类型customerorders。这样您就可以返回customer,然后是该客户的所有订单,然后是下一个客户和订单。

问题是,您如何合并行,以便如果您有 10 个客户和 40 个订单,您的输出仍然是 10 行而不是 50 行。您实际上将更多信息添加到您的客户行中。

我相信使用 a_list或 areduce可以解决这个问题。问题是如何做到这一点?

0 投票
1 回答
3797 浏览

map - 来自 map/reduce 的 null 键导致 couchdb

出于某种原因,我只从 map/reduce 中得到一个空键,结果在 mac 上的 couchdb

结果:

我正在使用 couchapp v8.1 和 couchdb v1.0.2

我的地图功能是:

我的减少功能是:

我期待的结果:

知道我哪里出错了吗?

0 投票
1 回答
864 浏览

hadoop - Hadoop 似乎在对给定 reduce 调用的值进行迭代期间修改了我的关键对象

Hadoop 版本:0.20.2(在 Amazon EMR 上)

问题:我有一个在映射阶段编写的自定义键,我在下面添加。在 reduce 调用期间,我对给定键的值进行了一些简单的聚合。我面临的问题是,在 reduce 调用中的值迭代过程中,我的键发生了变化,并且我得到了那个新键的值。

我的密钥类型:

这个key的实现有什么问题吗?以下是我在reduce调用中面临混合键的代码:

对此的任何帮助将不胜感激。

0 投票
2 回答
2123 浏览

hadoop - 如何在 HDFS 中仅保存非空减速器的输出

在我的应用程序中,reducer 将所有部分文件保存在 HDFS 中,但我希望只有 reducer 会写入大小不是 0 字节的部分文件。请让我知道如何定义它。

0 投票
1 回答
219 浏览

map - 重写将标记转换为整数参数的规则

在对记录排名的想法进行了多次角力之后,我最终确定了我的文档的基于数字的分数,我发出这些分数以根据这些分数对它们进行排序。

现在这些数字有意义,其中前 2 位数字代表特定类型的文档。

因此,要根据分数对类型 22 的文档进行排序,我只需查询开始键为 220000 且结束键为 229999 的视图

这一切都很好并且有效,当我尝试使用 url 重写时会出现我的问题。

我基本上是在尝试重新路由:

其中 xx 是 {doctype}

我的问题是指定重写规则:

  • 如何通过分别附加 0000 和 9999 来构造开始键和结束键?

  • 如何指定数值?因为使用占位符 ":doctype" 将导致字符串类型而不是数字类型,即使我要修改漂亮的 url 以输入开始键和结束键,也会导致查询失败。

  • 我通过在我的列表视图中过滤结果来解决这个问题(忽略我对 getRow() 不感兴趣的文档),我在这里关心的是,我现在应该担心列表函数的效率吗?

也可以随意评论我的排序策略.. 有兴趣知道其他人如何使用 couchdb 解决排序和切片问题

0 投票
1 回答
233 浏览

r - R中的元素绑定

我想要一个f这样的功能

(outer(X, Y, f))[i, j]是 X 的第 i 个元素和 Y 的第 j 个元素的并排串联,类似于c(X[i], Y[j])或具有类似结构。

此外,我希望这个结果能够重复该过程,并且通过这种方式我们得到

(outer(outer(X, Y, f), Z, f))[i, j, k]是 X 的第 i 个元素、Y 的第 j 个元素和 Z 的第 k 个元素的并排串联,即相等的或具有类似于的结构的结构c(X[i], Y[j], Z[k])

最终,我的目标是定义这样的函数:

这样,如果

那么dim(A)将是c(length(v_1), ..., length(v_p))

对于所有有效的索引集(i_1,...,i_p)。

例如:

注意:我不知道像上面示例中显示的结果这样的向量数组在 R 中是否有效/可能,但我使用的表达方式是c("A", 3, "f")建议“一些元素为“A”的类似向量的对象, 3,和“f”'。)

我可以用什么 f 来实现这一点?

谢谢!

0 投票
3 回答
3090 浏览

r - 如何将外部推广到 n 维?

标准 R 表达式outer(X, Y, f)求值为第 (i, j) 项值为 的矩阵f(X[i], Y[j])

我想实现函数:multi.outer的 n 维泛化,其中 f 是一些 n 元函数,将产生一个 (length(X_1) * ... * length(X_n)) 数组,其 (i_1,.. .,i_n)-th 条目具有所有有效索引集 (i_1,...,i_n) 的值。显然,对于 {1, ..., n} 中的每个 i,in 的所有元素都必须是函数的第 i 个参数。对于 n=2 的情况,将做与 相同的事情,尽管它会有不同的签名(IOW,将等同于)。outermulti.outer(f, X_1, ..., X_n)f(X_1[i_1], ..., X_n[i_n])X_imulti.outer(f, X_1,...,X_i,..., X_n)fmulti.outeroutermulti.outer(f, X, Y)outer(X, Y, f)

需要注意的是,虽然参数 X_1, ..., X_nmulti.outer都是向量,但它们不一定都具有相同的模式。例如 X_1 和 X_2 可以分别是c(1, 2, 3)LETTERS[10:20]

谢谢!

0 投票
1 回答
169 浏览

map - Hadoop:将slave设置为显式reducer?

我们在 debian + ubuntu 上使用 hadoop 多节点设置和最新的稳定 hadoop 版本。是否可以将特定的从站设置为减速器?我只使用一个减速器任务,我想将它分配给性能最高的奴隶。atm 我们有 1 个主控,他只是将任务分配给从属和 5 个从属,一个比其他的更强大。

提前致谢