草庐IT

java - 强制hadoop将 map task 的数量设置为1

我觉得我的问题让每个人都感到困惑。再说清楚一点。我正在尝试订购我的数据。说我的数据(几条记录)是这样的012341389228797我的block大小是128MB,文件大小是380Mb(3个block)我正在尝试为我的记录提供订单号。1,012342,138923,28797为了给出正确的数字,我需要将数据放入1个map中,否则如果我得到3个maptask,我的编号将不正确。所以如果我这样做,我会得到完整的数据吗?输入到我的映射器类的数据不会发生任何变化,这将是我的原始数据,不是吗?一旦我使用noofmappers设置为1-Dmapreduce.job.maps=1或conf.setI

hadoop - Iterable 在 mapreduce Reduce Task 中不起作用

大家好,我是hadoop的新手,我正在努力解决与reducer相关的问题。我有一个简单的wordcount程序,它没有返回预期的输出预期输出:这1哈多普2输出:这1hadoop1hadoop1wordcount程序代码packagein.edureka.mapreduce;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;impor

java - 如何从设置方法中停止 map task ?

我在作业类中有一些映射类,有时我需要中断当前任务的执行(HadoopMap-Reduce框架为作业的InputFormat生成的每个InputSplit生成一个映射任务):publicstaticclassTestJobMapperextendsMapper{@Overrideprotectedvoidsetup(Contextcontext)throwsIOException,InterruptedException{super.setup(context);//hereIwanttochecksomepredicate,andmaybebreakexecutionoftask//h

hadoop - 有什么方法可以防止在所有 map task 完成之前 reduce task 开始

我想在Hadoop集群上同时运行多个作业,但我想阻止某些作业在该作业的所有映射任务完成之前开始缩减阶段(使缩减槽繁忙或保留)。是否有任何配置可以像上面那样设置主题限制?谢谢。 最佳答案 减少慢启动默认情况下,调度程序会等待作业中5%的maptask完成为同一工作安排reducetask。对于大型作业,这可能会导致问题集群利用率,因为它们在等待map任务时占用reduce槽完全的。将mapred.reduce.slowstart.completed.maps设置为更高的值,例如0.80(80%),有助于提高吞吐量。引用:Hadoop权

xml - Job Tracker 和 Task Tracker 没有在 Hadoop 中运行?

在我的hadoop安装中,我没有找到mapred-site.xml文件,但它有mapred-site.xml.template。我已将以下属性添加到mapred.xml.templatemapred.job.trackerlocalhost:9001我错过了什么吗?核心站点.xmlfs.default.namehdfs://localhost:9000hdfs-site.xmldfs.replication1使用这些配置:http://localhost:50070/:Runninghttp://localhost:50060/:NotRunninghttp://localhost:5

java - 如何在 Hadoop 中共享全局序列号生成器?

现在我正在使用Hadoop来处理最终将加载到同一个表中的数据。我需要一个共享的序列号生成器来为每一行生成id。现在我使用以下方法生成唯一编号:1)在HDFS中创建一个文本文件,例如test.seq,用于保存当前序号。2)我使用锁文件“.lock”来控制并发。假设我们有两个任务来并行处理数据。如果task1想要获取号码,它会检查锁文件是否存在。如果是,则说明task2正在从test.seq中取数,task1必须等待。当task2获取到号码后,返回时加1覆盖旧号码,并删除锁文件“.lock”。当task1看到.lock消失时,task1会先创建一个“.lock”文件,然后以同样的方式获取序

timeout - 如何将进度报告给Hadoop Job,避免Task超时被杀?

1)我有一个仅映射的Hadoop作业,它将数据流式传输到Cassandra集群。2)有时流式传输需要超过10分钟,并且由于没有向作业报告进度,它会终止任务。3)我尝试使用context.progress()方法报告进度,但没有帮助。是否还需要向hadoop作业报告进度?我已经编写了如下示例代码来模拟该问题并使用以下代码。Thread.sleep(360000);context.progress();Thread.sleep(360000);失败并显示以下错误消息12/02/0611:40:25INFOmapred.JobClient:TaskId:attempt_20120206111

hadoop - pig : Perform task on completion of UDF

在Hadoop中,我有一个看起来像这样的Reducer,用于将数据从先前的映射器转换为一系列非InputFormat兼容类型的文件。protectedvoidsetup(Contextcontext){LocalDatabaseld=newLocalDatabase("localFilePath");}protectedvoidreduce(BytesWritablekey,Textvalue,Contextcontext){ld.addValue(key,value)}protectedvoidcleanup(Contextcontext){saveLocalDatabaseInHD

apache - Hadoop/map-reduce : Total time spent by all maps in occupied slots vs. 所有 map task 花费的总时间

背景:我正在分析AWSHadoop作业在各种集群配置上的性能,一些Hadoop计数器令人困惑。问题:“所有map在占用槽中花费的总时间”和“所有maptask花费的总时间”有什么区别?(减少相同的问题)。为简单起见,我们称这些计数器为mapO、mapT、redO和redT。这是我在三种不同的配置中看到的(每种配置都有不同数量的核心/从节点):1)对于AWS/EMR作业(Hadoop2.4.0-amzn-3),mapO/mapT的比率始终为6.0,redO/redT的比率始终为12.0。2)对于使用实例存储的手动安装的Hadoop(Hadoop2.4.0.2.1.5.0-695),map

hadoop - 如何在 hadoop 流中跳过失败的 map task

我正在运行一个hadoop流式mapreduce作业,它总共有26895个映射任务。但是,处理特定输入的任务总是失败。所以我设置了mapreduce.map.failures.maxpercent=1,想跳过失败的任务,但是作业还是没有成功。Kind%CompleteNumTasksPendingRunningCompleteKilledFailed/KilledTaskAttemptsmap100.00%26895002689418/44reduce100.00%100010/1我怎样才能跳过这个? 最佳答案 同样有一个配置可用。