标签: reducers

合并器和减速器可以不同吗?

在许多MapReduce程序中,我看到一个reducer也被用作组合器.我知道这是因为这些计划的具体性质.但我想知道他们是否会有所不同.

mapreduce reducers combiners

11
推荐指数
2
解决办法
2万
查看次数

Hadoop MapReduce:对减速器数量的澄清

在MapReduce框架中,映射器生成的每个密钥都使用一个reducer.

所以你会认为在Hadoop MapReduce中指定Reducers的数量没有任何意义,因为它依赖于程序.但是,Hadoop允许您指定要使用的reducer的数量(-D mapred.reduce.tasks =#reducers).

这是什么意思?减速器数量的参数值是否指定减少器的数量而不是实际减速器的数量?

hadoop mapreduce reducers

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

为什么使用concat减少数组时TypeScript会推断“从不”类型?

代码胜于语言,因此:

['a', 'b', 'c'].reduce((accumulator, value) => accumulator.concat(value), []);
Run Code Online (Sandbox Code Playgroud)

该代码非常愚蠢,并返回一个复制的数组...

TS抱怨concat的参数:TS2345:类型'string'的参数不能分配给'ConcatArray'类型的参数。

reduce functional-programming reducers typescript

11
推荐指数
3
解决办法
4271
查看次数

带分页的 NgRx 存储

我试图找出当服务器响应分页时如何设计 NgRx 存储。

如果我们一次在商店中只保留一页,那么使用 NgRx 到底有什么意义呢?

如果我们为所有页面保留插槽并在第一次调用该特定页面时填充存储中的每个页面,那么如何处理每个请求可能不同的 page_size,...查询参数。

如何处理 NgRx 中的过滤和排序。是否值得保留带有太多查询参数的响应?

我当前的界面就像

res : {
    pagination: {
        page: 1,
        page_size: 25,
        total_items: 10000,
        total_pages: 400
    },
    data: [array of 25 objects]
}
Run Code Online (Sandbox Code Playgroud)

pagination store reducers ngrx angular

11
推荐指数
2
解决办法
5859
查看次数

为什么在这个例子中使用Reducer没有显着的加速?

(require '[clojure.core.reducers :as r])

(def data (into [] (take 10000000 (repeatedly #(rand-int 1000)))))

(defn frequencies [coll]
  (reduce (fn [counts x]
    (merge-with + counts {x 1}))
    {} coll))

(defn pfrequencies [coll]
  (r/reduce (fn [counts x]
    (merge-with + counts {x 1}))
    {} coll))


user=> (time (do (frequencies data) nil))
"Elapsed time: 29697.183 msecs"

user=> (time (do (pfrequencies data) nil))
"Elapsed time: 25273.794 msecs"

user=> (time (do (frequencies data) nil))
"Elapsed time: 25384.086 msecs"

user=> (time (do (pfrequencies data) nil))
"Elapsed time: 25778.502 …
Run Code Online (Sandbox Code Playgroud)

parallel-processing clojure reducers

10
推荐指数
2
解决办法
1520
查看次数

Redux - ReactJS 应用程序不会重新渲染(尽管 JSON.parse 用于新对象)

我有一个带有过滤器的 ReactJS 应用程序,并使用 RESET 函数来重置这些过滤器。

我也使用过:Redux、Redux Persist 和 React-router-dom。

如果我查看 Redux Devtools,它似乎有效。但是应用程序没有正确重新渲染,需要刷新 (f5)。

我想要实现的目标:用initialState 对象覆盖configuredFilters 对象。

这是我的根减速器:

const rootReducer = (state = initialState, action) => {
  let newState = state;
  if (action.type === 'RESET_FILTERS') {
    storage.removeItem('persist:configuredFilters');
    // eslint-disable-next-line no-param-reassign
    newState = { ...newState,
      configuredFilters: JSON.parse(JSON.stringify(initialState.configuredFilters))
    };
  }
  return appReducer(newState, action);
};
Run Code Online (Sandbox Code Playgroud)

这是差异(我之前配置了两个国家):

调用 RESET 操作后的差异

这是对象(如果页面已加载,则为初始状态):

redux 对象配置的过滤器

组件是用这个组件创建的:

/* eslint-disable max-len */
import React from 'react';
import { useSelector, shallowEqual, useDispatch } from 'react-redux';
import { Form, Select } from 'antd';
import PropTypes from …
Run Code Online (Sandbox Code Playgroud)

javascript reducers reactjs

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

亚马逊MapReduce没有减速机工作

我试图通过AWS(流媒体工作)创建一个仅限映射器的工作.reducer字段是必需的,所以我给出一个虚拟可执行文件,并将-jobconf mapred.map.tasks = 0添加到Extra Args框中.在我安装的hadoop环境(版本0.20)中,不会启动任何reducer作业,但在AWS中,虚拟可执行文件启动并失败.

如何在AWS中运行no reducer/mapper作业?

hadoop mapreduce reducers amazon-web-services

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

减速器(在Clojure中)是否解决了Guy Steele概述的缩放倍数累积问题?

在她的演讲中,Clojure Bodil 的未来提出以下主张:

盖伊斯蒂尔在ICFP上发表了一篇名为" 组织并行执行功能代码"(或者,折叠和折叠考虑稍微有害)的演讲(同样在ACM中).

其中盖伊斯蒂尔在幻灯片70中断言:

一旦你说"第一次SUM = 0",你就被冲洗了.对于并行性,累加器是不可靠的.请注意,foldlfoldr,虽然功能,从根本上累积.

这有点有趣.所以Bodil说Guy Steele正在呼唤一个问题.然后她声称Rich用Reducers(以及Transducers,它是这种思路的延续)来解决它.在16:11 的Transducers演讲中,我们看到Rich发表了一些特别的论文foldr.

Rich有效地说folds是可组合的 - 你可以用它们来构建其他更高阶的函数,比如mapfilter.

我的问题是 - 博迪尔对吗?Rich有没有解决Guy Steele设置的问题?减速器(在Clojure中)是否解决了Guy Steele概述的缩放倍数累积问题?

parallel-processing clojure fold reducers

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

用于依赖状态切片的Redux减速器/状态设计

我喜欢在终极版减速器组成的概念,但遇到了这样一个场景,我就喜欢拆减速,但后来孩子们减速将依靠从其他国家的切片,使他们的变化.

例如

在我的州,我需要跟踪以下内容:

  • 一系列可能的等级(即[ 2, 3, 4, 5, 6 ])
  • 当前选择的排名(上述值之一).
  • 根据所选等级,一系列可能的训练水平.关系是范围从[ 1 .. (selectedRank - 1) ]
  • 目前选择的训练水平在上述范围内

最初,我有一个更大的减速器,它封装了所有这些方面:

function rankAndTraining(state = {
  selectedRank            : 4,
  availableRanks          : [ 2, 3, 4, 5, 6 ],
  availableTrainingLevels : [ 1, 2, 3 ],
  selectedTrainingLevel   : 2,
}, action) {
  .
  .
  .
    case SELECT_RANK: 

      let newRank = action.rank;

      if(!availableRanks.contains(newRank)) {
        // If new rank is …
Run Code Online (Sandbox Code Playgroud)

javascript reducers redux

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

从另一个reducer中访问reducer状态

我有一个减速器,我在调度动作时重新调整适当的状态.现在我定期调用API,结果会一次又一次地触发一个动作.所以我想要的是,如果reducer状态已经有数据,那么另一个reducer在调用发送时不会显示加载状态.仅在第一次接收数据时必须保持其加载状态.我希望我能够正确解释它

这是我的代码片段

装载状态减速机

const loading = (state = false, action) => {

    switch (action.type) {
    case 'GET_AUDIT_DATA':         // here I want to return true only when there is no data available
        return true
    case 'GET_AUDIT_DATA_RECEIVED':  
        return false
    case 'GET_AUDIT_DATA_ERROR':
        return false
    default:
        return state
    }
}
Run Code Online (Sandbox Code Playgroud)

结合减速器

const allReducers = combineReducers({
    auditData: AuditData,
    auditLoading: AuditLoading,
    modifiedOrders: ModifiedOrders
});

export default allReducers;
Run Code Online (Sandbox Code Playgroud)

Reducer返回由superagent触发的动作数据

const auditData = (state = [], action) => {
    switch(action.type) {
        case 'GET_AUDIT_DATA_RECEIVED': 
        console.log(action.data);
            return action.data;
        case 'GET_AUDIT_DATA_ERROR': …
Run Code Online (Sandbox Code Playgroud)

reducers reactjs redux react-redux

8
推荐指数
4
解决办法
1万
查看次数