草庐IT

MAPREDUCE

全部标签

hadoop - Hadoop 映射器如何处理部分溢出到下一个 block 的记录?

我正在尝试详细学习MapReduce,尤其是以下查询。众所周知,HDFS中的数据被分成block,通常Mapper一次处理一个block;我们可能会遇到record溢出到另一个block的情况;例如:数据集:“你好,你好吗”;此数据可能会溢出到两个不同的block中。block1:hello,howablock2:reyoudoing现在,如果Mapper在Block1上工作,mapper如何从block1获取已经溢出到Block2的“完整”记录?谁能帮我理解一下? 最佳答案 它适用于可以作为多个block存储在HDFS上的文件。然

java - 尝试从 Java 应用程序运行 mapreduce 作业时捕获异常

我需要从java应用程序调用mapreduce作业。我用ToolRunner.run(newValidation(),pathsMoveToFinal.toArray(newString[pathsMoveToFinal.size()]));如果我不设置conf的mapred.job.jobtracker,它将永远运行。maptask变为100%,然后回到其他百分比。如果我设置mapred.job.jobtracker,它会提示找不到映射器类:java.lang.RuntimeException:java.lang.ClassNotFoundException:utils.DataVa

java - 查找数据集中的 Top-K 记录

为了学习Hadoop,我正在练习《HadoopinAction》一书中Unresolved编程问题数据集样本: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",

java - 在mac上安装hadoop时出错

我试图在mac上安装hadoob。我收到以下错误。可能是什么问题?hadoop-0.20.203.0administrator$bin/hadoopjarhadoop-*-examples.jargrepinputoutput'dfs[a-z.]+'线程“main”中的异常java.io.IOException:打开作业jar时出错:hadoop-*-examples.jaratorg.apache.hadoop.util.RunJar.main(RunJar.java:90)Causedby:java.util.zip.ZipException:errorinopeningzipfi

hadoop - 如何在 Hadoop 中的机器之间传输文件并使用 Pig 搜索字符串

我有两个问题:我有一个很大的记录文件,有几百万条。我需要将此文件从一台机器传输到hadoop集群机器。我猜hadoop中没有scp命令(或者有?)如何将文件传输到hadoop机器?此外,一旦文件位于我的hadoop集群上,我想搜索包含特定字符串的记录,例如“XYZTechnologies”。pig八戒这是怎么做到的?一些示例代码可以帮助我抢先一步。这是我第一次使用Hadoop/Pig。如果这是一个“太基础”的问题,请原谅我。编辑1我尝试了Jagaran的建议,但出现以下错误:2012-03-1804:12:55,655[main]ERRORorg.apache.pig.tools.gr

hadoop - 如果 2 个映射器输出相同的键,reducer 的输入是什么?

我在学习Mapreduce的过程中有以下疑惑。如果有人能回答,将会有很大的帮助。我有两个映射器处理同一个文件-我使用MultipleInputFormat配置它们映射器1-预期输出[提取文件的几列之后]a-1234b-3456c-1345映射器2预期输出[提取同一文件的几列后]a-Mondayb-Tuesdayc-Wednesday还有一个reducer函数,它只输出它作为输入获得的键值对所以我希望输出是我所知道的,相似的键将被洗牌以制作一个列表。a-[1234,Monday]b-[3456,Tuesday]c-[1345,Wednesday]但是我得到了一些奇怪的输出。我猜只有1个M

hadoop - 使用Hadoop Map reduce处理和拆分大数据?

我在文本文件中有大量数据(1,000,000行)。每行有128列。现在我正在尝试用这个大数据构建一个kd树。我想使用mapreduce进行计算。针对我的问题的蛮力方法:1)编写一个mapreduce作业来查找每一列的方差并选择方差最高的列2)将(列名,方差值)作为输入编写另一个mapreduce作业将输入数据分成两部分。对于给定的列名,第1部分包含所有值小于输入值的行,第二部分包含大于输入值的所有行。3)对于每个部分重复步骤1和步骤2,继续该过程,直到每个部分剩下500个值。列名称、方差值构成我的树的单个节点。因此,对于高度为10的树,我需要使用蛮力方法运行1024个mapreduce

hadoop - 为什么我们不能在 Hadoop 中计算作业执行时间?

我的问题与散兵游勇问题有关。在排序上,它是一种算法,我们可以知道它的复杂性,并计算在一组常量数据上执行时的运行时间。为什么我们无法在Hadoop中获取作业执行时间?如果我们能够获取作业执行时间或任务执行时间,我们就可以快速知道哪些是散乱的任务,而不需要算法来知道哪个任务是散乱的。 最佳答案 作业执行时间或任务执行时间将在作业跟踪器webUI中可用。希望这就是您要查找的内容。WebUI将在作业跟踪器的50030端口可用。如果它是基于Yarn设置url为http://:8088 关于hado

hadoop - MapR 是 MapReduce 的替代品吗

我看到了mapreduce作业的替代品MapR,它可以直接从流中读取数据并进行处理。我的理解正确吗?有没有我可以引用的sample?它是商业广告吗?使用它有什么问题吗?它是水槽的替代品吗?我们可以将它与apachehadoop一起使用吗?如果是,那么为什么发行版只讨论yarn和mapreduce而没有讨论MapR?提前致谢。 最佳答案 MapR是ApacheHadoop的商业发行版,HDFS被MapR-FS取代。本质上,它是相同的Hadoop和相同的Map-Reduce作业在上面运行,覆盖了大量的营销,导致像你这样的困惑和问题。这是

Hadoop - 在没有定界符的情况下定义和处理数据,某些列之间没有空格/空格

我是hadoop的新手,正在尝试在配置单元中导入文件。我使用的源数据在某些列之间没有分隔符。例子:0000856214AB25256TPL1423AS......2563458547CD12748SAK2523YU...andsoon...我已经从大型机以txt格式导入了这个文件。我有固定字符数的字段第一列(1-10),第二列(11-12),第三列(13-14))我想要的结果是读取这个原始数据如下:1stcolumn-00008562142ndcolumn-AB3rdcolumn-254thcolumn-2565thcolumn-T6thcolumn-PL7thcolumn-1423A