草庐IT

决定系数

全部标签

hadoop - 哪个决定了 hive 中 map 任务和 reduce 任务的数量?

我使用配置单元运行查询“select*fromT1,T2whereT1.a=T2.b”,架构为T1(aint,bint),T2(aint,bint),当它运行时,生成了6个map任务和1个reduce任务,我想问一下,哪个决定了map任务和reduce任务的数量?数据量是多少? 最佳答案 map任务的数量取决于数据量、block大小和分割大小。例如:如果您的block大小为128MB,文件大小为1GB,那么将有8个映射任务。您可以使用拆分大小来控制它。Hive作业中的reducer数量默认为1。你必须通过配置更新它mapred.re

hadoop - 如何决定在 HDFS 中使用的集群大小和实例类型?

如何在HDFS中决定集群大小、节点数量、要使用的实例类型以及每台机器的硬件配置设置?如果可能,请解释如何处理10TB的数据。例如如果我们有10TB的数据,那么标准的集群大小、节点数量以及可以在hadoop中使用的实例类型应该是多少? 最佳答案 我已经使用Hadoop几年了。首先,查看此Hortonworks指南:https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.5.3/bk_cluster-planning/content/ch_hardware-recommendations

hadoop - 在输入量较小或者部分硬件空闲的情况下,map任务的数量是由hadoop中的节点数量决定的吗?

我有一个基本的mapreduce问题。我的输入包含许多小文件,并且我设计了一个自定义的CombinedFileInputFormat(可以正常工作)。对于20000个文件,所有文件的总大小只有100Mb,但处理单个文件需要几分钟(这是一个繁重的索引问题),因此我想要尽可能多的maptask。hadoop会处理这个问题还是我必须强制执行它以及如何执行?在后一种情况下,我的第一个猜测是操纵最大拆分大小,但我不确定我是否在正确的轨道上。非常感谢任何帮助!(关于如何在后一种情况下最好地设置拆分大小的建议也很有帮助)一些额外的信息更清楚:然而,我想在每个任务中处理多个文件还有另一个原因,那就是我

hadoop - 什么决定了 map() 将被调用多少次?

我有一个文本文件和一个解析器,它将解析每一行并存储到我的customSplitInput中,我在自定义FileInputFormat阶段进行解析,因此我的拆分是自定义的。现在,我有2个拆分,每个拆分中包含我的数据列表。但现在,我的映射器函数在同一拆分上被重复调用。我认为映射器函数只会根据您拥有的拆分数调用?我不知道这是否适用,但我的自定义InputSplit为getLength()返回一个固定数字,为getLocation()返回一个空字符串数组。我不确定要为这些添加什么。@OverridepublicRecordReadercreateRecordReader(InputSpliti

reflection - Hadoop 如何决定在 MapTask 类中运行哪个映射器,OldMapper 还是 NewMapper?

我无法理解MapTask类中的runOldMapper(...)和runNewMapper(...)方法之间的区别。Hadoop根据JobConf中的"useNewApi"参数决定;但是在框架中何时何地设置了这个参数?我认为所有工作的默认值都是FALSE。我们可以通过调用设置"mapred.mapper.new-api"的JobConf.setUseNewMapper(booleanflag)将值设置为TRUE,但是何时以及为什么我们应该决定设置这个参数? 最佳答案 您假设此行为是由mapred.mapper.new-api配置触发

hadoop - 在用 Java 编写 MR 代码时,如何决定何时使用 Map-Side Join 或 Reduce-Side?

在用Java编写MR代码时,如何决定何时使用Map-SideJoin或Reduce-Side? 最佳答案 Mapsidejoin在数据到达Map之前执行join。在map端加入数据之前,map功能需要一个强大的先决条件。这两种方法都有一些优点和缺点。Mapsidejoin与reduceside相比效率更高,但它需要严格的格式。先决条件:数据应以特定方式进行分区和排序。每个输入数据都应划分为相同数量的分区。必须使用相同的键排序。特定键的所有记录必须位于同一分区中。Reducesidejoin也称为Repartitionedjoin或R

hadoop - YARN 如何决定创建多少个容器? (为什么S3a和HDFS有区别?)

我正在使用当前版本的Hadoop,并运行一些TestDFSIO基准测试(1.8版)来比较默认文件系统是HDFS与默认文件系统是S3存储桶的情况(通过S3a使用)。在默认文件系统为S3a的情况下读取100x1MB文件时,我观察到YARNWebUI中的最大容器数小于默认情况下的HDFS,而S3a约为慢4倍。当使用默认文件系统S3a读取1000x10KB文件时,我观察到YARNWebUI中的最大容器数至少比默认为HDFS,S3a大约慢16倍。(例如,默认情况下HDFS的测试执行时间为50秒,而默认情况下S3a的测试执行时间为16分钟。)启动的maptask的数量在每种情况下都符合预期,这方面

hadoop - Hive 如何决定何时使用 map reduce 何时不使用?

举个简单的例子,select*fromtablename;不会启动mapreduce,而selectcount(*)fromtablename;确实如此。决定何时使用mapreduce(通过hive)的一般原则是什么? 最佳答案 一般来说,任何类型的聚合,例如最小/最大/计数都需要MapReduce作业。这可能不会为您解释一切。Hive,在许多RDBMS的风格中,有一个EXPLAIN关键字将概述您的Hive查询如何转换为MapReduce作业。尝试对您的两个示例查询运行解释,看看它在幕后尝试做什么。

php - 跳过 Facebook 身份验证时,我不应该取回一个适当的值来指示用户的决定吗?

在我的应用程序中,我有以下代码:$loginUrl=$facebook->getLoginUrl(array('scope'=>'publish_stream'));header("Location:".$loginUrl);将用户带到facebook并询问他们:'[oshirowanensapp]wouldalsolikepermissionto:PostonyourbehalfThisappmaypostonyourbehalf,includingstatusupdates,photosandmore.Allow-Skip如果我点击Skip,我将被重定向回我的应用程序,在那里我希望

mysql - Sqlite 还是 MySql?如何决定?

关闭。这个问题需要更多focused.它目前不接受答案。想要改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion关于如何决定使用这两者中的哪一个,有什么好的经验法则吗?而且,如果你接管了一个Sqlite数据库,并且系统预计会“变得更大”,那么如何决定是坚持使用它还是迁移到MySql? 最佳答案 它们的功能集完全不同。Sqlite是一个没有网络功能的嵌入式数据库(除非你添加它们)。所以你不能在网络上使用它。如果你需要网络访问——例如从另一台机器访问;任何实际程度