草庐IT

streamed

全部标签

java - 使用 Java Apis 在 hadoop 中运行 Streaming 作业

我是hadoop的新手,正在学习流式作业。有人可以指导我如何通过Java代码运行StreamingJobs吗?提前致谢。 最佳答案 如果您想使用流式API运行Java代码,您可以直接将类名作为映射器和/或缩减器传递。像这样:$HADOOP_HOME/bin/hadoopjar$HADOOP_HOME/hadoop-streaming.jar\-inputmyInputDirs\-outputmyOutputDir\-mappercom.something.MyMapper\-reducercom.something.MyReduce

使用 Java Mapper/Reducer 的 Hadoop Streaming

我正在尝试使用javaMapper/Reducer在一些维基百科转储(压缩的bz2形式)上运行hadoop流作业。我正在尝试使用WikiHadoop,这是维基媒体最近发布的一个界面。WikiReader_Mapper.javapackagecourseproj.example;//Mapper:emits(token,1)foreveryarticleoccurrence.publicclassWikiReader_MapperextendsMapReduceBaseimplementsMapper{//Reuseobjectstosaveoverheadofobjectcreatio

java - 是否可以使用 Hadoop Streaming 处理多行记录?

我有这样的记录:Name:AlanKayEmail:Alan.Kay@url.comDate:09-09-2013Name:MarvinMinskyEmail:Marvin.Minsky@url.comCity:Boston,MADate:09-10-2013Name:AlanTuringCity:NewYorkCity,NYDate:09-10-2013它们是多行的,但行数并不总是相同,并且它们通常由换行符分隔。我如何将其转换为下面的输出?AlanKay|Alan.Kay@url.com||09-09-2013MarvinMinsky|Marvin.Minsky@url.com|Bo

python - 无法执行基于 Python 的 Hadoop Streaming 作业

我有一个5节点的hadoop集群,我可以在其上成功执行以下流作业sudo-uhdfshadoopjar/usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming.jar-input/sample/apat63_99.txt-output/foo1-mapper'wc-l'-numReduceTasks0但是当我尝试使用python执行流作业时sudo-uhdfshadoopjar/usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming.jar

hadoop - 在 hadoop streaming mapreduce 中使用组合器(使用 mrjob)

当我学习mapreduce时,其中一个关键组件是组合器。它是映射器和缩减器之间的一个步骤,本质上是在映射阶段结束时运行缩减器,以减少映射器输出的数据行数。随着我需要处理的数据量的增加(数TB规模),reduce步骤变得异常缓慢。我和我的一个friend谈过,他说这也是他的经验,他没有使用组合器,而是使用散列函数对其reduce键进行分区,该函数减少了reduce步骤中每个键的值数量.我试过了,它奏效了。有没有其他人有过组合器步骤不能很好地扩展的经验,为什么我找不到这个问题的任何文档以及解决方法?如果有办法使组合器步进缩放,我宁愿不使用解决方法。[编辑]这是我friend建议的解决方法的

hadoop cp vs streaming with/bin/cat 作为 mapper 和 reducer

我是Hadoop的新手,如果/bin/cat用于mapper和reducer,我有一个关于hadoop复制(cp)与hadoop流的非常基本的问题。hadoop-输入-输出-mapper/bin/cat-reducer/bin/cat我相信上面的命令会复制文件(它与hadoopcp有什么不同?)或者如果我的理解有误请纠正我。 最佳答案 他们做同样的事情,但方式不同:hadoopcp将只调用JAVAHDFSAPI并将副本执行到另一个指定位置,这比流解决方案快得多。另一方面,hadoopstreaming(请参阅下面的示例命令)将启动m

java - streaming jar 找不到 HDFS 中的 Mapper 文件

我目前正在尝试让本地版本的Hadoop运行,但我有点卡住了。我使用以下教程进行设置:http://glebche.appspot.com/static/hadoop-ecosystem/hadoop-hive-tutorial.html现在,我想使用本教程执行一个简单的Mapreduce:http://www.michael-noll.com/tutorials/writing-an-hadoop-mapreduce-program-in-python/但是,我似乎对HDFS有一些问题,因为当我想运行以下命令时::libexecme$hadoopjar./share/hadoop/to

python - Hadoop Streaming with TextInputFormat 和 Python - 跟踪行号

我正在尝试计算方阵上每条对角线的总和。我正在使用Python和Hadoop流式处理,但我找不到任何方法来配置Hadoop流式处理以获取每行的偏移量thisguy说,使用TextInputFormat。还有一个question在StackOverflow上询问同样的事情,但没有关于如何去做的回应。和hadoopdoc说了一些关于丢弃LongWritable类的键但我不确定这是否是偏移量。如何配置作业以获得偏移量?我是否需要创建一个从TextInputFormat派生的新类而不返回LongWritable?如果我不懂Java,我该怎么做?谢谢 最佳答案

python - 使用 Python 和 Hadoop Streaming 查找 Top-K

所以我有一个以前工作的这种格式的输出文件(.txt文件)"145"Defects,"1"Information1"Plain2"Project5"Right1#51302]1$5,000)1&3'AS-IS',1(1("the1每行左边是我从文档中读到的单词,每行右边的数字是我数过的次数。我想使用Python和HadoopStreaming创建另一个mapreduce作业来查找前k个值。在这种情况下,假设为5。我无法想象映射器应该做什么。我应该解析每一行并将每个单词附加到列表中吗?然后,我会从这些列表中获取前k个值并将其发送到reducer吗?然后reducer读取所有这些列表并只返回

hadoop-streaming.jar 在每行末尾添加 x'09'

我正在尝试使用以下hadoop-streaming.jar命令将一些*_0(HDFS中的部分文件)文件合并到HDFS位置。hadoopjar$HDPHOME/hadoop-streaming.jar-Dmapred.reduce.tasks=1-input$INDIR-output$OUTTMP/${OUTFILE}-mappercat-reducercat一切正常——除此之外,我遇到了问题,因为上述命令的结果似乎将x'09'添加到每一行的末尾。我们在部分文件(替换为合并文件)之上定义了Hive表,其中最后一个字段定义为BIGINT。因为,合并文件将x'09'添加到最后一个字段-tba