关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我计划从Hadoop版本1更新到Hadoop版本2。谁能告诉我(如果您尝试过hadoop版本2),版本2中的MR/Hive/Pig作业与版本1相比是否有任何性能改进?
对于客户,我一直在研究在AWSEC2上运行Cloudera风格的hadoop集群的短期可行性。在大多数情况下,结果是预期的,逻辑卷的性能大多不可靠,也就是说尽我所能让集群在这种情况下运行得相当好。昨晚我对他们的导入程序脚本进行了全面测试,以从指定的HDFS路径中提取数据并将其推送到Hbase。他们的数据有些不同寻常,因为记录小于1KB,并且被压缩到9MB的gzipblock中。总共有大约50万条文本记录从gzip中提取出来,经过完整性检查,然后推送到reducer阶段。作业在环境的预期范围内运行(溢出记录的数量是我预料到的)但是一个非常奇怪的问题是当作业运行时,它使用8个reducer
我有一个记录的RDD,转换为DataFrame,我想按天时间戳过滤并计算最近30天的统计数据,按列过滤并计算结果。Spark应用程序在进入for循环之前非常快,所以我想知道这是否是一种反模式方法,我怎样才能获得良好的性能,我应该使用spark笛卡尔坐标吗?//FILTERPROJECTRECORDSvalclientRecordsDF=recordsDF.filter($"rowkey".contains(""+client_id))client_records_total=clientRecordsDF.count().toLong这是clientRecordsDF的内容root|-
在不讨论所有其他性能因素、磁盘空间和名称节点对象的情况下,复制因子如何提高MR、Tez和Spark的性能。如果我们有5个数据链,执行引擎将复制设置为5是否更好?什么是最好的和最坏的值(value)?这对聚合、连接和仅限map的作业有何好处? 最佳答案 Hadoop的主要租户之一正在将计算转移到数据。如果您将复制因子设置为大约等于数据节点的数量,则可以保证每台机器都能够处理该数据。但是,正如您提到的,namenode开销非常重要,更多的文件或副本会导致请求缓慢。在不健康的集群中,更多的副本也会使您的网络饱和。我从未见过高于5的数据,而
我在ReduceMerge阶段遇到了一些性能问题,我想知道是否有人可以看一下。我有一个6GB的数据集(文本),均匀分布在集群上,该数据集有两个键,然后我将其GroupBy放入两个缩减器(我正在使用级联)。所以每个reducer有3GB的数据。我给每个reducer12GB的内存,但我仍然看到20分钟的合并阶段。两个问题:这个合并不应该完全在内存中完成(如果我有12GB的堆)。即使没有内存合并,20分钟对于合并3GB来说似乎也太长了,尤其是在一个节点上有12个磁盘(JBOD)和12个内核的情况下。我想知道我是否将部分合并数据写入了错误的位置(HDFS,还是本地?)。MAPRFS_BYTE
我在配置单元中使用静态分区根据日期字段将数据隔离到子目录中,我需要为每个表(总共14个表)每年365个分区,因为我每天都会加载到配置单元中。在hive中可以创建的静态分区的数量是否有任何限制?如果“hive.exec.max.dynamic.partitions.pernode”,动态分区会出错在sqoopimport中超过了指定的thresold(100)我有5个节点的HDP集群,其中3个是数据节点如果我增加可以在hive中创建的分区数量,它会影响集群的性能吗?该限制仅适用于动态分区还是也适用于静态分区?引用检查故障排除和最佳实践部分https://cwiki.apache.org/
我有一个hadoop映射器代码,它将文件作为输入处理它们,并将单个键和处理后的值发送到reducer。问题是我有将近100000个不超过5.6kb的文本文件,但是当我运行该作业时,它需要很长时间才能完成。一个原因是每个映射器开始时只处理一个文件,然后被销毁。因此,即使处理在计算上并不昂贵,我也会在映射器启动时浪费很多时间。我如何确保映射器继续处理多个文件?我的映射器最大限制是默认设置,我可以看到它是6。如果需要任何进一步的详细信息,请告诉我。 最佳答案 你应该使用CombineFileInputFormat处理许多小文件。这确实有助
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭7年前。Improvethisquestion我部署了hadoop2(HDP2),并希望获得ganglia中从属节点的磁盘i/o指标。到目前为止,我没有找到任何相关指标。您建议使
开始学习HBase写数据流。我使用HTableInterface并且在性能上有问题。仅插入500行就花费了很多时间,我插入的每个批处理List将近500,000毫秒。关于使用HTableInterface批量写入HTable的任何示例或建议?我正在使用HBase0.94谢谢 最佳答案 它们本质上是一样的:batch(Listactions,Object[]results)不仅允许放置,还允许获取、删除、递增...put(Listputs)只需做一批put(它还会在客户端验证它们)。您还可以通过禁用table.setAutoFlush
我的原始查询-CREATETABLEadmin.FctPrfitAmt_rptASSELECTrcn.*FROM(SELECTt1.*FROM(SELECT*FROMadmin.FctPrfitAmtt2WHEREt2.scenario_idNOTIN(SELECTDISTINCTt3.scenario_idFROMadmin.FctPrfitAmt_incrt3)UNIONALLSELECT*FROMadmin.FctPrfitAmt_incr)t1)rcn;问题是目前这个查询需要很多时间,因为涉及的记录数量很多。有没有办法调整这个查询?我尝试过这种方法,但它不起作用-CREATET