草庐IT

Mapreduce1

全部标签

python - 亚马逊弹性 MapReduce - SIGTERM

我有一个EMR流作业(Python),它通常工作正常(例如,10台机器处理200个输入)。然而,当我针对大型数据集(12台机器处理总共6000个输入,每个输入大约20秒)运行它时,经过2.5小时的处理后,我得到以下错误:java.lang.RuntimeException:PipeMapRed.waitOutputThreads():subprocessfailedwithcode143atorg.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:372)atorg.apache.hadoop.st

需要多个输入文件的 Python MapReduce Hadoop 流作业?

我的集群FileA和FileB中有两个文件,数据如下-文件A#Format:#FoodItem|Is_A_Fruit(BOOL)Orange|YesPineapple|YesCucumber|NoCarrot|NoMango|Yes文件B#Format:#FoodItem|VendorNameOrange|VendorAPineapple|VendorBCucumber|VendorBCarrot|VendorBMango|VendorA基本上我想知道每个供应商卖多少水果?预期输出:VendorA|2VendorB|1我需要使用hadoopstreamingpythonmapreduc

python - 迪斯科/MapReduce : Using results of previous iteration as input to new iteration

目前正在Disco上实现PageRank。作为迭代算法,一次迭代的结果作为下一次迭代的输入。我有一个代表所有链接的大文件,每一行代表一个页面,行中的值代表它链接到的页面。对于Disco,我将这个文件分成N个block,然后运行​​MapReduce一轮。结果,我得到了一组(page,rank)元组。我想将此排名提供给下一次迭代。但是,现在我的映射器需要两个输入:图形文件和pageranks。我想“压缩”在一起图形文件和页面排名,这样每一行代表一个页面,它是排名,它是外链。由于这个图形文件分为N个block,我需要将pagerank向量分成N个并行block,并压缩区域pagerank向

python - 使用 appengine-mapreduce 达到内存限制

我正在研究appengine-mapreduce功能,并修改了演示以符合我的目的。基本上我有以下格式的一百万多行:userid、time1、time2。我的目的是找出每个用户标识的time1和time2之间的差异。但是,当我在GoogleAppEngine上运行它时,我在日志部分遇到了这条错误消息:在为总共130个请求提供服务后,超过了180.56MB的软专用内存限制在处理此请求时,发现处理此请求的进程使用了​​太多内存并被终止。这很可能会导致对您的应用程序的下一个请求使用新进程。如果您经常看到此消息,则您的应用程序可能存在内存泄漏。deftime_count_map(data):""

python - 我应该学习/使用 MapReduce 或其他类型的并行化来完成这项任务吗?

在与Google的一位friend交谈后,我想实现某种工作/worker模型来更新我的数据集。该数据集反射(reflect)了3rd方服务的数据,因此,要进行更新,我需要对其API进行多次远程调用。我认为等待这个3rd方服务的响应会花费很多时间。我想加快处理速度,并更好地利用我的计算时间,通过并行处理这些请求并在它们等待各自的响应时同时保持其中许多请求打开。在我解释我的特定数据集并进入问题之前,我想澄清我正在寻找的答案:这是一个非常适合与MapReduce并行化的流程吗?如是,这在Amazon的mapreduce模块上运行是否具有成本效益,该模块按小时计费,并在工作完成后按小时计算?(

java - 如果我使用 golang 编写一个 NoSQL 数据库,但想在其上运行 Hadoop mapreduce,我会遇到什么困难?

我想用golang搭建一个分布式的NoSQL数据库或者key-valuestore,学习golang和实践我在学校学到的分布式系统知识。我能想到的目标用例是在其上运行MapReduce,并实现一个与HDFS兼容的“文件系统”以将数据公开给Hadoop,类似于在Ceph和AmazonS3上运行Hadoop。我的问题是,将这样一个NoSQl数据库与Hadoop集成应该遇到什么困难?或者与其他语言集成(例如,提供Ruby/Python/Node.js/C++API?)如果我使用golang构建系统。 最佳答案 好吧,我不是一个Hadoop

mapreduce - 是否有分布式数据处理管道框架,或者组织一个的好方法?

我正在设计一个需要一组分布式处理工作器的应用程序,这些工作器需要在特定流中异步使用和生成数据。例如:组件A获取页面。组件B分析来自A的页面。组件C存储来自B的经过分析的点点滴滴。显然不仅仅涉及三个组件。进一步的要求:每个组件都需要是一个单独的进程(或一组进程)。生产者对其消费者一无所知。换句话说,组件A只是产生数据,并不知道哪些组件使用该数据。这是一种由面向拓扑的系统解决的数据流,如Storm.虽然Storm看起来不错,但我持怀疑态度;它是一个Java系统,并且基于Thrift,我不喜欢这两者。我目前倾向于使用AMQP作为数据传输,使用HTTP作为数据共享/存储协议(protocol)

debugging - MongoDB:mapReduce 的副作用

在我们的map-reduce作业的开发过程中,我们的MR代码独立于被map-reduce的数据生成有用的诊断数据结构。有没有一种简单的方法可以将这些数据导出到调用mapReduce的代码中或将它们保存在Mongo中?仅仅写入日志文件是非常次优的,因为(a)那里已经有很多数据,并且(b)我们的诊断信息是高度结构化的,事实上,我们希望针对它。到目前为止,我的调查表明MR数据结构是按值传递的(通过序列化),因此任何内存中的数据结构都会丢失,包括那些与“全局”范围Hook的数据结构。命名空间与主要的JS服务器端命名空间是隔离的,因此dbeval似乎无法访问它们(或者,至少,我不知道去哪里寻找)

debugging - MongoDB:mapReduce 的副作用

在我们的map-reduce作业的开发过程中,我们的MR代码独立于被map-reduce的数据生成有用的诊断数据结构。有没有一种简单的方法可以将这些数据导出到调用mapReduce的代码中或将它们保存在Mongo中?仅仅写入日志文件是非常次优的,因为(a)那里已经有很多数据,并且(b)我们的诊断信息是高度结构化的,事实上,我们希望针对它。到目前为止,我的调查表明MR数据结构是按值传递的(通过序列化),因此任何内存中的数据结构都会丢失,包括那些与“全局”范围Hook的数据结构。命名空间与主要的JS服务器端命名空间是隔离的,因此dbeval似乎无法访问它们(或者,至少,我不知道去哪里寻找)

MongoDB 的 mapReduce : partition keys to single reducers and affect key sorting

我真的陷入了困境,我必须强制ma​​pReduce框架只使用一个reducer对于特定的键。我还想影响框架如何对键进行排序。我将通过一个例子来介绍这个问题:我想以以下形式发出键值对:bxb>:bx>:b>:bax>:figure1关键是一个序列——如你所见——每个都以一个b项开始,它是一个数据类型string.值为ObjectIDs用字母d和一个数字表示。我从map发出了其他键值对函数,它的键以不同的项目开头,例如a或x:abx>:ax>:xaa>:figure2我需要强制框架调用单个reduce每个键值对的函数,它以特定项目开头。此外,我必须强制在map之间进行排序和reduce以相