问题标签 [mapreduce]
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.
mapreduce - 映射器、减速器、过滤器
我知道 map/reduce 算法及其用途。它使用称为 Mappers 和 Reducers 的函数,但我也发现人们使用过滤器这个词。
过滤器与映射器相同还是有一些显着差异?
view - CouchDB 视图:created_at 大于传递的值
我正在尝试编写一个 couchdb 视图,该视图采用可排序格式的 created_at 时间戳(2009/05/07 21:40:17 +0000)并返回所有具有更大 created_at 值的文档。
我专门使用 couch_foo 但如果我能弄清楚如何编写视图,我可以在蒲团或 couch_foo 模型中创建它,而不是让 couch_foo 为我做。
如果可能的话,我已经四处搜索,无法弄清楚地图/减少来做到这一点。
java - 在 Hadoop 中并行化 Ruby 减速器?
Ruby 中一个简单的 wordcount reducer 如下所示:
它在 STDIN 中获取所有映射器的中间值。不是来自特定的键。所以实际上所有人只有一个减速器(而不是每个单词或每组单词的减速器)。
但是,在 Java 示例中,我看到这个接口获取一个键和值列表作为 inout。这意味着中间映射值在归约之前按键分组,并且归约器可以并行运行:
这是 Java 独有的功能吗?或者我可以使用 Ruby 使用 Hadoop Streaming 来做到这一点吗?
hadoop - 如何控制 Hadoop 流作业的输出文件名称和内容?
有没有办法控制 Hadoop Streaming 作业的输出文件名?具体来说,我希望我的工作的输出文件内容和名称由减速器输出的 ket 组织 - 每个文件只包含一个键的值,它的名称就是键。
更新:刚刚找到答案 - 使用从 MultipleOutputFormat 派生的 Java 类作为作业输出格式允许控制输出文件名。 http://hadoop.apache.org/core/docs/current/api/org/apache/hadoop/mapred/lib/MultipleOutputFormat.html
我还没有看到任何示例...任何人都可以指出使用自定义输出格式 Java 类的 Hadoop Streaming 示例吗?
distributed - MapReduce 如何成为分析 http 服务器日志的好方法?
关注 MapReduce 有一段时间了,它似乎是一个很好的实现容错分布式计算的方法。我阅读了很多关于该主题的论文和文章,在一系列虚拟机上安装了 Hadoop,并进行了一些非常有趣的测试。我真的认为我了解 Map 和 Reduce 步骤。
但这是我的问题:我不知道它如何帮助进行 http 服务器日志分析。
我的理解是,大公司(例如 Facebook)使用 MapReduce 来计算他们的 http 日志,以加快从中提取受众统计数据的过程。我工作的公司虽然比 Facebook 小,但每天都有大量的网络日志需要计算(100Go 每月增长 5% 到 10%)。现在我们在单个服务器上处理这些日志,它工作得很好。但是,分配计算作业会立即成为一种很快就会有用的优化。
以下是我现在无法回答的问题,任何帮助将不胜感激:
- MapReduce 概念真的可以应用于博客分析吗?
- MapReduce 是最聪明的方法吗?
- 您将如何在各种计算实例之间拆分 Web 日志文件?
谢谢你。
尼古拉斯
scala - Scala 中的 MapReduce 实现
我想找到好的和健壮的 MapReduce 框架,可以从 Scala 中使用。
couchdb - CouchDB-基本分组问题
我有一个包含组字段的用户文档。该字段是一组组 ID。我想编写一个返回(groupid 作为键)->(用户文档数组作为 val)的视图。这个映射操作似乎是一个好的开始。
但是我的减少尝试显然有一些非常错误的地方:
我正在运行 CouchDB 0.10dev。任何帮助表示赞赏。
.net - 我可以在 Amazon Elastic MapReduce 中运行 .NET 应用程序(或来自 .NET dll 的方法)吗?
我需要一台功能强大的机器,它可以每天一小时运行我的 .NET 代码。我不能使用 EC2,因为它会在关机时丢失我的所有数据。我需要一台可以在特定时间启动的虚拟 PC,这台 PC 应该会自动启动我的 .exe/service/whatever。我可以要求 Amazon MapReduce 启动一个 Windows 实例并执行我的代码吗?
algorithm - MapReduce 排序算法是如何工作的?
用于展示 MapReduce 功能的主要示例之一是Terasort 基准。我无法理解 MapReduce 环境中使用的排序算法的基础知识。
对我来说,排序只是确定一个元素相对于所有其他元素的相对位置。因此,排序涉及将“一切”与“一切”进行比较。您的平均排序算法(快速、冒泡、...)只是以一种聪明的方式完成此操作。
在我看来,将数据集分成许多部分意味着您可以对单个部分进行排序,然后您仍然必须将这些部分整合到“完整”的完全排序的数据集中。鉴于分布在数千个系统上的 TB 数据集,我预计这将是一项艰巨的任务。
那么这到底是怎么做到的呢?这个 MapReduce 排序算法是如何工作的?
谢谢你帮助我理解。
python - 使用 map() 获取 Python 中字符串中存在列表元素的次数
我正在尝试获取列表中每个项目在 Python 中的字符串中的次数:
返回 [2, 0, 0]
然而,我想做的是扩展它,以便我可以将段落值输入 map() 函数。现在, tester() 函数已经对段落进行了硬编码。有没有人有办法做到这一点(也许制作一个 n 长度的段落值列表)?这里还有其他想法吗?
请记住,每个数组值在将来的某个时间点都会有一个权重——因此需要将这些值保存在一个列表中,而不是将它们全部一起处理。
更新:段落通常为 20K,列表通常有 200 多个成员。我的想法是 map 并行运行 - 所以它会比任何串行方法更有效。