草庐IT

fetch阶段

全部标签

file - Hadoop 作业从多个目录获取输入文件并在映射阶段检测每个文件

在一个作业中有两个输入文件,它们位于两个不同的目录中,在Hadoopjobtakinginputfilesfrommultipledirectories中,我们可以从多个目录读取文件。这些文件具有相同的名称,但它们位于不同名称的文件夹中。C1/part-0000C2/part-0000有没有可能在map阶段检测文件?就像是:publicvoidmap(LongWritablekey,Textvalue,Context上下文)抛出IOException,InterruptedException{如果(第一个文件){...context.write(outputKey,outputValu

hadoop - MapReduce 要求所有映射器在合并阶段之前完成

我最近不得不运行一项作业,要求所有映射器在将结果传递到组合阶段之前完成(由于处理文件的结构方式)。通过配置以下内容,reducer可以使用此功能-//force100%ofthemapperstoconcludebeforereducersstartjob.set("mapred.reduce.slowstart.completed.maps","1.0");我找不到合并阶段的任何类似配置。最终,我将我的工作分成了2个部分,组合阶段充当了reducer,而我的原始reduce传递给了作业#2(mapper2只是传递了数据而没有修改它)。我想知道-有没有一种方法我错过了在合并之前配置10

hadoop - 能否自定义 Hadoop 的 Shuffle/Sort(或分区)阶段来执行图形遍历?

我还在学习MapReduce框架,具体由Hadoop实现,我想知道是否可以修改它来执行以下任务:Map()函数将发出(key,value)对,其键是大小为2的数组,比如int[2]。我希望将包含两个共同整数中的任何一个的每一对映射到同一个reducer。例如,如果Map()发出:([2,3],4),([2,4],5),([6,5],2),([5,7],1),那么Reduce1应该接收前两对,Reduce2接收后两对(前两对共享2,后两对共享5)。这可以看作是一个连通分量问题,其中顶点是int[]中的整数,边在同一int[]中的任意两个整数之间共享。 最佳答案

hadoop - 哪种方法阻止 reducer 在 hadoop yarn 中启动实际的 reduce 阶段?

我是hadoopyarn的新手,希望reducers在完成所有映射之前开始实际的缩减过程。我试图找出调用reducer但找不到的类。任何人都可以在这方面帮助我吗? 最佳答案 在所有映射器完成之前,reducer只能开始收集映射器的输出。这称为shuffle阶段。但是,它们无法启动sorting和reduce阶段,因为它们需要在开始工作之前拥有ALLmap输出记录在他们。原因很简单:想象一下wordcount示例,您想要计算一个词的出现频率。在reduce阶段,如果您在获取所有映射器的输出(即一些计数是缺少这个词),那么,你可能会给出

java - Hadoop 1.2.1 - 多节点集群 - Wordcount 程序的 Reducer 阶段挂起?

我的问题在这里听起来可能有些多余,但之前问题的解决方案都是临时的。我尝试过的很少,但还没有成功。实际上,我正在研究hadoop-1.2.1(在ubuntu14上),最初我有singlenodeset-up然后我运行了WordCount编程成功。然后我根据this给它加了一个节点。教程。它成功启动,没有任何错误,但现在当我运行相同的WordCount程序时,它卡在减少阶段。我查看了任务跟踪器日志,它们如下所示:-INFOorg.apache.hadoop.mapred.TaskTracker:LaunchTaskAction(registerTask):attempt_201509110

hadoop - 为什么 Spark 选择在 shuffle 阶段通过网络发送数据而不是写入 HDFS 上的某个位置?

据我所知,spark尝试通过网络将数据发送到另一个节点的内存缓冲区,如果它不适合内存则溢出到磁盘,为什么spark不能从任何节点可以写入的地方写入HDFS读? 最佳答案 将其写入磁盘的传输速度要慢得多。最重要的是,您保证会产生在感兴趣的节点之间同步磁盘访问的开销。 关于hadoop-为什么Spark选择在shuffle阶段通过网络发送数据而不是写入HDFS上的某个位置?,我们在StackOverflow上找到一个类似的问题: https://stackover

java - 由于某些未知原因,Spark 作业在 saveAsHadoopDataset 阶段失败,因为执行器丢失

我有一个在yarn上运行的spark作业,它处理大约150gb的数据集,并进行多次随机播放操作,最后将数据存储到hbase中。它在saveAsHadoopDataset处一直失败基本上,多个执行程序在报告高GCActivity后在此阶段失败。但是,执行程序日志、驱动程序日志或节点管理器日志均未指示任何OutOfMemory错误或GCOverheadExceeded错误或超出内存限制错误。我在sparkui中也没有看到执行器失败的任何其他原因。valhConf=HBaseConfiguration.createhConf.setInt("hbase.client.scanner.cach

hadoop - shuffle 和 sort 阶段是 map 还是 reduce 阶段的一部分?

我的理解是,在mapreduce编程模型中我们有map和reduce两个阶段。完成映射阶段后,生成中间值(键、值)并将这些值传递给缩减器。我怀疑在map()阶段之后,shuffle和sort会到来。所以,我觉得shuffle和sort是reducer阶段的一部分,是这样吗?如果是这种情况,combiner()是如何工作的? 最佳答案 其实map/reduce中有3个阶段:map随机排序减少Shuffle&sort是一个纯框架阶段(作为开发人员,您只需编写map和reduce函数),它允许map任务和reduce阶段之间的通信。组合器

python - 映射/减少计数的两阶段排序

这个python3程序尝试使用map/reduce从文本文件中生成单词的频率列表。我想知道如何对字数进行排序,在第二个reducer的yield语句中表示为“count”,以便最大的计数值出现在最后。目前,结果的尾部如下所示:"0002""wouldn""0002""wrap""0002""x""0002""xxx""0002""young""0002""zone"对于上下文,我将任何单词文本文件传递到python3程序中,如下所示:pythonMapReduceWordFreqCounter.pybook.txt这是MapReduceWordFreqCounter.py的代码:fro

hadoop - 从 Hadoop 集群中运行 web-fetch

博客文章-http://petewarden.typepad.com/searchbrowser/2011/05/using-hadoop-with-external-api-calls.html-建议从Hadoop集群内部调用外部系统(查询twitterAPI或抓取网页)。对于我目前正在开发的系统,有快速和慢速(批量)子系统。数据是从Twitter的API中获取的——也用于快速、单独的检索。这可能是每天数十万(甚至数百万)个外部请求。还检索网页内容以进行进一步处理-至少具有相同规模的请求。除了对外部源的潜在副作用(更改数据以使其在下一个请求中有所不同)之外,以这种方式使用Hadoop