草庐IT

mapreduce_shuffle

全部标签

hadoop - 当 mapred.job.shuffle.input.buffer.percent=0.70 时,pig join 在 reducer 中出现 OutOfMemoryError

我们正在一个小表和一个大倾斜表之间进行简单的pig连接。由于另一个错误(pigskewedjoinwithabigtablecauses"Splitmetadatasizeexceeded10000000"),我们无法使用"usingskewed":(如果我们使用默认的mapred.job.shuffle.input.buffer.percent=0.70我们的一些reducer在shuffle阶段会失败:org.apache.hadoop.mapred.Task:attempt_201305151351_21567_r_000236_0:Mapoutputcopyfailure:ja

hadoop - 原生 mapreduce VS hbase mapreduce

如果我使用TableMapReduceUtil(Hbase)创建MR作业,似乎hbase扫描器将数据馈送到映射器并将数据从reducer转换为特定的hbase输出格式以将其存储在hbase表中。出于这个原因,我预计hbasemapreduce作业将比本地MR作业花费更多时间。那么,Hbase作业比原生MR需要多长时间? 最佳答案 关于通过HBase进行的读取可能比直接使用文件的本地map/reduce慢2-3倍。在recentlyannouncedHBase0.98他们添加了对HBase快照进行映射/缩减的功能。可以看到thispr

java - Hadoop MapReduce - 如何提高并行度

我遇到了一个问题。我有一个包含机场和航类信息的数据集(CSV文件),例如机场代码、航类代码、航类到达日期和时间、航类应该到达的日期和时间等。现在,我有数据集只有两年-2006年和2007年。我正在使用javamapreduceAPI作为解决方案。我必须找出两年内每个机场的平均航类延迟,并将输出存储在两个单独的文件中-一个用于2006年,另一个用于2007年。输出还应按airportCode排序。我的方法是这样的:FullDataset->map()->->customPartitionertopartitiononlybyyear->reduce((year,airportCode),

hadoop - HDInsight hadoop-mapreduce-examples.jar 输出在哪里?

我在HDInsight中运行示例wordcount应用程序命令成功运行,但我找不到输出。我运行的命令是hadoopjarhadoop-mapreduce-examples.jarwordcount/example/data/gutenberg/davinci.txt/user/joe/WordCountOutput我期待在文件系统上创建一些东西。但我没有看到/user/joe/创建。请指教。 最佳答案 默认情况下,HDInsight使用Azureblob存储作为其HDFS存储,因此您的输出位于与集群关联的存储帐户中。你可以使用类似C

hadoop - 使用 MapReduce 在 HBase 中插入多行

我想从每个映射器批量插入N行到HBase表。我目前知道有两种方法可以做到这一点:创建Put的列表对象和使用put(Listputs)HTable的方法实例并确保禁用autoFlush参数。使用TableOutputFormat类和使用context.write(rowKey,put)方法。哪个更好?第一种方式,context.write()不需要,因为hTable.put(putsList)方法用于直接将数据放入表中。我的映射器类正在扩展ClassMapper,那么我应该为KEYOUT使用什么类呢?和VALUEOUT?在第二种方式中,我必须调用context.write(rowKey,

hadoop - 我可以使用 Combiner 在 mapreduce 作业中计算平均值吗?

我想实现一个mapreduce作业,该作业读取具有以下架构的Parquet文件:{optionalint96dropoff_datetime;optionalfloatdropoff_latitude;optionalfloatdropoff_longitude;optionalint32dropoff_taxizone_id;optionalfloatehail_fee;optionalfloatextra;optionalfloatfare_amount;optionalfloatimprovement_surcharge;optionalfloatmta_tax;optional

java - 如何在java mapreduce hadoop中获得两个键的最大计数

我有一个包含6列的txt文件,我对第三和第四列、城市和产品感兴趣,这是一个示例:2015-01-01;09:00:00;NewYork;shoes;214.05;Amex>我需要按城市获取销量最大的产品。我已经有了按城市聚合和计算所有产品的代码,这是类映射器和类缩减器的代码:importjava.io.IOException;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Mapper;publicclassContaMaxC

hadoop - 无法通过 ssh 进入 Elastic MapReduce

我正在使用elastic-mapreduce从命令行创建新集群。看完this教程,我有:elastic-mapreduce--create--alive\--instance-typem1.xlarge\--num-instances5\--supported-productmapr\--namem7\--args"--edition,m7"将创建一个具有6个节点(1个主节点+5个从节点)的新集群。所以我尝试通过ssh进入master:elastic-mapreduce--jobflowj-3FLVMX9CYE5L6--ssh然后我得到Permissiondenied(publicke

hadoop - 来自 AVRO Mapreduce 的错误

当我尝试在avro上运行mapreduce时出现以下错误:14/02/2620:07:50INFOmapreduce.Job:TaskId:attempt_1393424169778_0002_m_000001_0,Status:FAILEDError:org.apache.avro.generic.GenericData.createDatumWriter(Lorg/apache/avro/Schema;)Lorg/apache/avro/io/DatumWriter;我该如何解决这个问题?我已经启动并运行了Hadoop2.2。我正在使用Avro1.7.6。代码如下:packagea

java - 为什么建议将 scan.setCacheBlocks(false) 用于 mapReduce 作业?

我理解为什么scan.setCaching对mapreduce作业有好处,但我不明白为什么setCacheBlocks(false)不好。它会使服务器负担过重吗? 最佳答案 简而言之-是,如果您在mapreduce作业中将blockcaching设置为true,它会给RegionServer带来负担。当您主要在输入扫描上使用mapreduce作业时,最近扫描的输入将在下一个映射阶段被丢弃。Blockcache是​​LRU..第一次请求的时候把数据放入Blockcache,第二次请求的时候发现没用就交换,然后继续。所以RegionSe