草庐IT

reduce_ex

全部标签

hadoop - Hive 如何为一个工作选择 reducer 的数量?

有几个地方说Hadoop作业中默认的reducer数量是1。您可以使用mapred.reduce.tasks符号手动设置reducer的数量。当我运行Hive作业(在AmazonEMR、AMI2.3.3上)时,它有一些大于1的reducer。查看工作设置,有些东西设置了mapred.reduce.tasks,我假设是Hive。它是如何选择那个数字的?注意:这里是运行Hive作业时的一些消息,应该是一个线索:...Numberofreducetasksnotspecified.Estimatedfrominputdatasize:500Inordertochangetheaveragel

caching - 缓存是 spark 相对于 map-reduce 的唯一优势吗?

我已经开始学习ApacheSpark,并且对该框架印象深刻。尽管一直困扰我的一件事是,在所有Spark演示中,他们都在谈论Spark如何缓存RDD,因此需要相同数据的多个操作比MapReduce等其他方法更快。所以我的问题是,如果是这种情况,那么只需在Yarn/Hadoop等MR框架内添加一个缓存引擎即可。为什么要完全创建一个新框架?我确定我在这里遗漏了一些东西,您将能够向我指出一些文档,这些文档可以让我更多地了解spark。 最佳答案 在内存计算中缓存+对于spark来说绝对是个大事情,但是还有其他事情。RDD(Resilient

hadoop - Hadoop Map Reduce 和 Google Map Reduce 之间的区别

HadoopMapReduce和GoogleMapReduce有什么区别?难道只是Hadoop为mapreduce等提供了标准化?差异中还有什么。 最佳答案 GoogleMapReduce和Hadoop是MapReduce框架/概念的两种不同实现(实例)。Hadoop是开源的,GoogleMapReduce不是,实际上没有太多关于它的可用细节。由于他们处理大型数据集,因此他们必须依赖分布式文件系统。Hadoop使用HDFS(Hadoop分布式文件系统)作为标准分布式文件系统,而GoogleMapReduce使用GFS(谷歌文件系统)

hadoop - Yarn 给现有的 map reduce 带来了什么额外的好处?

Yarn的基础设施层与原始mapreduce架构的不同之处如下:在YARN中,作业跟踪器分为两个不同的守护进程,分别称为ResourceManager和NodeManager(特定于节点)。资源管理器只管理资源分配给不同的作业,除了包含一个调度程序,它只负责调度作业而不用担心任何监控或状态更新。不同的资源,如内存、CPU时间、网络带宽等,被放入一个称为ResourceContainer的单元中。不同的AppMasters运行在不同的节点上,它们与这些资源容器中的许多对话,并相应地使用监控/状态详细信息更新节点管理器。我想知道使用这种方法如何从map-reduce的角度提高性能?此外,如

hadoop - Hadoop MapReduce中Mapper/Reducer的设置和清理方法

是否分别在每个mapper和reducer任务中调用了setup和cleanup方法?或者它们只在整个映射器和缩减器作业开始时被调用一次? 最佳答案 每个任务都会调用它们,因此如果您有20个映射器在运行,将为每个任务调用设置/清理。一个问题是Mapper和Reducer的标准运行方法不会捕获map/reduce方法周围的异常-因此如果在这些方法中抛出异常,则不会调用清理方法。2020年编辑:如评论中所述,2012年(Hadoop0.20)的这一说法不再正确,清理被称为finallyblock的一部分。

hadoop - 有没有人发现 Cascading for Hadoop Map Reduce 有用?

我一直在尝试Cascading,但我看不出在编写作业时比经典的mapreduce方法有任何优势。MapReduce工作给了我更多的自由,而Cascading似乎设置了很多障碍。可能会使简单的事情变得简单,但复杂的事情..我发现它们非常难有什么我想念的吗?与经典方法相比,级联是否有明显的优势?在什么情况下我应该选择级联而不是经典方法?有人使用它并且开心吗? 最佳答案 记住我是Cascading的作者......如果Pig或Hive对您的问题有意义,我的建议是使用它们,尤其是Pig。但是,如果您从事数据业务,而不仅仅是浏览数据以获取见解

php - 如何使 ZEND_BEGIN_ARG_INFO_EX 控制传递给 PHP 扩展的参数数量?

我正在使用C开发一个PHP扩展。到目前为止,我正在对从PHP用户空间传递给扩展函数的参数进行正确验证。宏ZEND_BEGIN_ARG_INFO_EX可用于为ZendEngine提供有关函数参数的信息。宏的第4个参数,命名为required_num_args,让引擎自动控制参数个数,省去了我这个麻烦。然而,我找不到让它工作的方法:引擎总是在没有任何警告的情况下运行扩展的功能,即使PHP脚本没有向那里传递足够的参数。这是我对函数参数的定义:ZEND_BEGIN_ARG_INFO_EX(test_func_swt_arginfo,0,0,3)ZEND_ARG_INFO(1,firstArg)

php - 为什么我的 reduce 实现的函数组合会返回一个闭包?

我想从reduce/fold中导出n函数的组合函数,但它没有按预期工作:$id=function($x){return$x;};$comp=function($f){returnfunction($g)use($f){returnfunction($x)use($f,$g){return$f($g($x));};};};$fold=function($f,$acc){returnfunction($xs)use($f,&$acc){returnarray_reduce($xs,$f,$acc);};};$compn=function($fs){/*apply$foldhere*/};$

php - 我如何在 MongoDB 中使用 Map/Reduce?

我无法理解map/reduce在MongoDB中的工作原理。我有一个包含以下字段的集合:areacode,state,county,zip,city,lat,lon列出了美国的每个邮政编码以及相应的县、州等。我希望能够查询给定州的所有县或市。所以基本上是某种查询,用于查找“State=MI”的所有记录。在本例中,返回了大约900条记录。我如何按县对它们进行分组,以便我只获得该州的83个县?我不想使用distinct,因为我希望能够按字母顺序对它们进行排序,并且可能还会提取纬度/经度。关于如何使用map/reduce来完成这个的任何建议?我觉得这很基础,我就是想不通。

php - 如何将 file_put_contents() 与 FILE_APPEND 一起使用 | LOCK_EX 安全吗?

我正在使用:file_put_contents("peopleList.txt",$person,FILE_APPEND|LOCK_EX);写入文件末尾并确保没有其他人(或脚本)同时写入同一文件。PHPmanual表示如果不成功,它将返回一个假值。如果它不能获得文件的锁,它会失败,还是继续尝试直到它可以?如果在无法获得锁的情况下确实失败,确保数据写入的最佳方法是什么?也许在while循环中循环函数直到它不返回false(畏缩)或者只是向用户(网站访问者)提供某种GUI以请求他们重试? 最佳答案 其实我之前的回答有点过时了。flock