草庐IT

input_text_area

全部标签

Hadoop : Number of input records for reducer

无论如何,每个reducer进程都可以确定它必须处理的元素或记录的数量吗? 最佳答案 简短回答-提前不,reducer不知道可迭代对象支持多少个值。您可以执行此操作的唯一方法是在迭代时进行计数,但您不能再对可迭代对象进行重新迭代。长答案-支持可迭代对象实际上是序列化键/值对的排序字节数组。reducer有两个比较器-一个用于按键顺序对键/值对进行排序,然后第二个用于确定键之间的边界(称为键分组器)。通常,键分组器与键排序比较器相同。当迭代特定键的值时,底层上下文检查数组中的下一个键,并使用分组比较器与前一个键进行比较。如果比较器确定

java - 如何让Hadoop输出为Text、Text格式?

我有一个包含以下格式数据的文件:导演电影我正在使用hadoop和Java来处理它。计算每个导演的电影数量是非常基本的,但是我如何修改代码以获得这样的结果:导演电影1电影2电影3... 最佳答案 我觉得统计每个导演的电影数量很简单,高层结构可能是这样的:mapper(file):foreach(director,movie)infile:emit(director,movie)reducer(director,movies):movielist=[]foreachmovieinmovies:movielist.add(movie)em

java - hadoop:预期 org.apache.hadoop.io.LongWritable,收到 org.apache.hadoop.io.Text

这个问题在这里已经有了答案:Hadooperrorinexecution:Typemismatchinkeyfrommap:expectedorg.apache.hadoop.io.Text,recievedorg.apache.hadoop.io.LongWritable(1个回答)关闭9年前。我是hadoop的新手,正在尝试运行书中的示例程序。我正面临错误java.io.IOException:映射中的键类型不匹配:预期org.apache.hadoop.io.LongWritable,收到org.apache.hadoop.io.Text请帮我解决这个错误。下面是代码import

java.lang.NumberFormatException : For input string: "100" while executing MapReduce 异常

我正在编写一个MapReduce作业,用于在facebook上寻找共同的friend。这是我的映射器的输入:100,200300400500600200,100300400300,100200400500400,100200300500,100300600,100这是我的映射器代码的一部分:map{Stringline=value.toString();String[]LineSplits=line.split(",");String[]friends=LineSplits[1].trim().split("");for(inti=0;i当我执行此操作时,我在friend2中获得了正确

text - Hadoop...Text.toString()转换问题

我正在为我的项目编写一个简单的程序来枚举有向图中的三角形。首先,对于每个输入弧(例如ab、bc、ca,注意:制表符用作分隔符)我希望我的map函数输出以下对([a,to_b],[b,from_a],[a_b,-1]):publicvoidmap(LongWritablekey,Textvalue,OutputCollectoroutput,Reporterreporter)throwsIOException{Stringline=value.toString();String[]tokens=line.split("");output.collect(newText(tokens[0]

java - Hadoop Java : how to specify map key as one of the index of input split?

我有一个看起来像这样的输入数据:3070801,1963,1096,,"BE","",,1,,269,6,69,,1,,0,,,,,,,3070802,1963,1096,,"US","TX",,1,,2,6,63,,0,,,,,,,,,3070803,1963,1096,,"US","IL",,1,,2,6,63,,9,,0.3704,,,,,,,3070804,1963,1096,,"US","OH",,1,,2,6,63,,3,,0.6667,,,,,,,3070805,1963,1096,,"US","CA",,1,,2,6,63,,1,,0,,,,,,,3070806,196

input - 节点本地映射减少作业

我目前正在尝试编写一个map-reduce作业,其中输入数据不在HDFS中并且无法加载到HDFS中,主要是因为使用该数据的程序无法使用HDFS中的数据,而且有太多数据无法复制到HDFS中,每个节点至少1TB。因此,我的集群中的4个节点各有4个目录。理想情况下,我希望我的映射器只接收这4个本地目录的路径并使用file:///var/mydata/...之类的内容读取它们,然后1个映射器可以处理每个目录。即总共16个映射器。然而,为了能够做到这一点,我需要确保每个节点正好有4个映射器,并且恰好有4个映射器已分配到该机器的本地路径。这些路径是静态的,因此可以硬编码到我的文件输入格式和记录读取

text - map 减少每个文本文件的实现

我需要计算每个文档中每个单词的词频,所以我想为每个文本文件实现mapreduce函数。如何为每个文本文件实现map()和reduce()?Map-Reduce中的另一个问题是Map-Reduce将reduce的输出写入单个文件/user/output/part-0000而project需要将每个文件处理后的输出写入不同的文本文件,如何实现? 最佳答案 按照下面提到的步骤:在作业文件中计算输入文件的数量设置numreducers等于输入文件的数量将数字0到n-1分配给文件并将此信息传递给分布式缓存在映射器的setup()方法中获取文件

hadoop - Nutch : org. apache.hadoop.mapreduce.lib.input.InvalidInputException: 输入路径不存在

当我执行nutch命令创建crawdb文件夹和内容时:soporte@CNEOSYLAP/usr/local/apache-nutch-2.2.1/runtime/local$bin/nutchcrawlurls-dircrawl-depth3-topN5我收到这个错误:InjectorJob:Usingclassorg.apache.gora.hbase.store.HBaseStoreastheGorastorageclass.Exceptioninthread"main"org.apache.hadoop.mapreduce.lib.input.InvalidInputExcep

java - Hadoop:错误:java.io.IOException:映射中的键类型不匹配:预期的 org.apache.hadoop.io.Text,收到 org.apache.hadoop.io.LongWritable

我正在尝试编写一个用于倒排索引计算的mapreduce程序。我的map代码是publicclassInvertdIdxMapperextendsMapper{publicvoidmap(LongWritableikey,Textivalue,Contextcontext,Reporterreporter)throwsIOException,InterruptedException{Textword=newText();Textlocation=newText();FileSplitfilespilt=(FileSplit)reporter.getInputSplit();Stringf