草庐IT

Mapreduce

全部标签

hadoop - pagerank如何在mapreduce模型中迭代?

我对pagerank算法如何与mapreduce模型一起工作感到困惑。主要的困惑是,在phaseII之后,val是inlinks到关键URL(而不是outlinks),那么它如何在下一次迭代中工作?请参阅下面的示例:txt:A->BA->CB->AC->BWORKER1WORKER2LOADA->BB->AA->CC->BMAP(A,B)(B,A)(A,C)(C,B)SHUFFLEANDDISTRIBUTE(A,[B,C])(B,[A])(C,[B])REDUCE(A,(PR(A),[B,C],2))(B,(PR(B),[A],1))(C,(PR(C),[B],1))MAP(PHASE

hadoop - Hadoop 中 Mappers 的分区输出

这是一个关于Hadoop的非常基本的问题:假设我有3个mappers和2个reducers。映射器产生了以下输出:Mapper1output:{1->"a1",2->"b1"},Mapper2output:{2->"b2",3->"c2"},Mapper3output:{1->"a3",3->"c3"}现在,据我所知,框架将输出分成两部分(每个reducer一个部分)。框架是否在分区之前对所有输出进行排序?reducers是否有可能获得以下输入?Reducer1input:{1->"a1",2->"b1","b2"}Reducer2input:{1->"a3",3->"c2","c3"

java - apache avro 中的 mapred 和 mapreduce 包有什么区别?

我正在从事我的项目以整合apacheavro进入我的MapR程序。然而,我很困惑与ma​​pred相比,通过使用新的ma​​preduce包。latter详细说明如何使用在不同的情况下,新的信息较少。但是我知道的是,它们分别对应hadoop的新旧接口(interface)。有没有人有使用ma​​preduce接口(interface)的经验或例子对于输入为非Avro数据的作业(例如TextInputFormat)文件输出为avro文件。 最佳答案 这两个包代表相应的Hadoopmapred和mapreduceAPI的输入/输出格式、

exception - 清理失败的 map

我的映射器会将一些数据写入本地磁盘,并在映射器完成时清理它。但是,如果发生错误(发生异常),则不会调用cleanup()方法。我可以在我的映射器中捕获异常,但我无法处理未在我的映射器中调用的异常(例如:Jobtracker故障转移到备用节点)。有什么方法可以在映射器获取失败时进行清理? 最佳答案 您可以覆盖mapper的run方法,以在上下文中围绕输入键的迭代包含一个try/catch并确保调用清理:@Overridepublicvoidrun(){setup(context);try{while(context.nextKeyVa

java - 如何在 Hadoop MapReduce 中对结果进行排序并剔除顶部条目?

我们正在从一个看起来像这样的文件中读入。100363002100341895100355361100355643我们需要做两件事:1-按右列排序2-去掉前3个结果所以它看起来像这样:100341895100355643100363002我该怎么做? 最佳答案 1)为了获得前3个结果,最好在Mapper中将所有值写在一个键下:context.write(NullWritable.get(),value);在Reducer中,您只能获取前三个结果并跳过其他结果。2)现在你所要做的,它的排序值,请搜索“Hadoopsecondarysor

java - 在映射器之间共享 FSDataInputStream?

我有一份工作,我想跨多个映射器访问同一个文件。最初我尝试在每个映射器中打开并搜索文件,但事实证明这非常慢。是否可以在run()方法中打开文件(我在其中执行job.SetOutputPath等操作),然后与Mappers共享此打开的文件,以便我没有100个Mappers分别打开同一个文件的令人难以置信的开销? 最佳答案 是的,这实际上是可能的。如果您在作业开始之前设置分布式缓存并向其加载文件,它将自动发送到映射器。示例分布式缓存设置:StringfileLocation;//setthistofileabsolutelocationC

hadoop - 数据节点中的文件传输 - hadoop

要传输文件到数据节点,hadoop使用什么协议(protocol)?SSHorhttporhttps 最佳答案 我想TCP就是您想要的答案。服务器是DataXceiverServer客户是DFSClient.基本上,他们使用JavaSocketAPI。 关于hadoop-数据节点中的文件传输-hadoop,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/19899083/

java - hadoop - 在多个集群上映射减少

我已经配置了Hadoop集群。我有两台机器MA和MB当我使用以下代码运行mapreduce程序时hadoopjar/HDP/hadoop-1.2.0.1.3.0.0-0380/contrib/streaming/hadoop-streaming-1.2.0.1.3.0.0-0380.jar-mapper"pythonC:\Python33\mapper.py"-reducer"pythonC:\Python33\redu.py"-input"/user/XXXX/input/input.txt"-output"/user/XXXX/output/out20131112_09"where

hadoop - hadoop集群的系统测试自动化框架

我正在寻找hadoop集群的系统测试框架。受支持的用例应包括HDFS的系统测试、mapreduce作业和hive查询。我从apache中找到了一个名为herriot的,但我不确定它是否仍在维护中。你们知道任何现有框架吗? 最佳答案 看看1和2用于对集群进行基准测试。它有测试的代码和数据。将它们自动化应该不是什么难事。 关于hadoop-hadoop集群的系统测试自动化框架,我们在StackOverflow上找到一个类似的问题: https://stackove

java - 如何在不使用 OOzie 的情况下创建 Hadoop 作业链

我想创建一个由三个Hadoop作业组成的链,其中一个作业的输出作为输入提供给第二个作业,依此类推。我想在不使用Oozie的情况下执行此操作。我已经编写了以下代码来实现它:-publicclassTfIdf{publicstaticvoidmain(Stringargs[])throwsIOException,InterruptedException,ClassNotFoundException{TfIdftfIdf=newTfIdf();tfIdf.runWordCount();tfIdf.runDocWordCount();tfIdf.TFIDFComputation();}publ