草庐IT

mapreducer

全部标签

hadoop - MapReduce 作业失败,错误为写入数据失败

我正在尝试将数据从teradata导出到hadoop。但我的导出查询因出现错误“无法写入数据”而失败。请查看下面的Mapreduce和应用程序日志:LogType:syslogLogUploadTime:TueMar0822:59:27-08002016LogLength:49312016-03-0822:47:07,414WARN[main]org.apache.hadoop.metrics2.impl.MetricsConfig:Cannotlocateconfiguration:triedhadoop-metrics2-maptask.properties,hadoop-metr

hadoop - 消除 MapReduce 中的相同单词对

我想计算文本中每行单词的共现次数,即一个单词与其他单词在同一行中出现的次数。为此,我创建了一个特殊的词对类,因此MapReduce会给我词对,然后是计数。问题是,我只想展示不同单词的共现。这是代码:publicclassCo_OcurrenciaMapperextendsMapper{@Overridepublicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{IntWritableone=newIntWritable(1);String[]palabras=

Python mrjob mapreduce如何对输入文件进行预处理

我正在尝试预处理XML文件以在放入mapreduce之前提取某些节点。我有以下代码:frommrjob.compatimportjobconf_from_envfrommrjob.jobimportMRJobfrommrjob.utilimportcmd_line,bash_wrapclassMRCountLinesByFile(MRJob):defconfigure_options(self):super(MRCountLinesByFile,self).configure_options()self.add_file_option('--filter')defmapper_cmd(

hadoop - mapreduce 的多表输入

我正在考虑使用累积表作为输入来进行mapreduce。有没有一种方法可以将2个不同的表作为输入,就像addInputPath这样的多个文件输入一样?或者是否可以使用AccumuloInputFormat从文件中获取一个输入,而从表中获取另一个输入? 最佳答案 您可能想看一下AccumuloMultiTableInputFormat。Accumulo手册演示了如何使用它here.示例用法:job.setInputFormat(AccumuloInputFormat.class);AccumuloMultiTableInputForma

java - 使用 MapReduce 在图中查找距离为 2 的节点对

如何为有向图G=(V,E)编写Mapper类和Reducer类。需要计算所有节点对(x,y)使得y可以在两跳内从x到达,即存在一个节点z使得(x,z)和(z,y)都在E中。这里(x,y)可能在也可能不在E.输入应该是一条边,节点ID由制表符分隔,例如:1201322341...输出应该是一个节点对xy的列表,由长度恰好为2的路径连接,每行一个,例如:1342... 最佳答案 我假设“两跳”意味着两个节点之间需要有一个中间节点。例如,“z”是(x,y)对的中间节点。您可以做的是将节点ID作为您的Mapper和Reducer中的键。通过

hadoop - MapReduce 处理如何与本地文件系统一起工作?

如果输入/输出来自本地文件系统,MapReduce处理如何工作?MapReduce作业执行是否跨Hadoop集群异步发生?如果是,那是如何发生的?在哪个用例中,我们真的需要使用这种方法吗? 最佳答案 MapReduce在本地系统中的工作原理相同(mapper->reducer)(只是它的效率问题,因为它在本地系统而不是集群中效率较低)。是的,MapReduce作业执行在Hadoop集群中异步发生(这取决于您在mapreduce程序中使用的调度器类型)点击formoreaboutscheduler在大多数情况下,这用于测试目的(在本地

java - 通过 MapReduce 代码平均工资

谁能帮我找出为什么在运行我的MapReduce代码后我没有得到平均工资。问题:计算正式员工和契约(Contract)员工的平均工资示例输入:1用户1永久1002user2契约(Contract)5003用户3永久2004user4合约300预期输出:永久285契约(Contract)187我得到的输出:永久100永久200合约500契约(Contract)300运行作业:$hadoopjarpartition.jarcom.hadoop.PartitionExample输入/partition_example.txt输出packagecom.hadoop;importjava.io.I

netbeans - 在 Hadoop 集群上运行 mapreduce jar

我正在尝试在Hadoop上运行二次筛算法的mapreduce实现。为此,我将karmasphereHadoop社区插件与Netbeans一起使用。该程序使用该插件运行良好。但我无法在实际集群上运行它。我正在运行这个命令bin/hadoopjarMRIF.jar689其中MRIF.jar是构建netbeans项目生成的jar文件,689是要分解的数字。输入和输出目录在程序本身中是硬编码的。在实际集群上运行时,内部java类似乎没有被处理,因为在map本身处于0%之前,reduce完成到100%。并且创建的输入和输出文件没有内容。但这在使用Karmasphere插件运行时工作正常。

hadoop - MapReduce 程序中 DistributedCache 的替代方案是什么?

当您需要将您的mapper/reducer经常使用的少量数据放入distributedCache时,DistributedCache似乎会派上用场。但在某些情况下,您想要放入映射器的数据会非常大,比如超过300MB。在这种情况下你会怎么做?在这种情况下,分布式缓存的替代方案是什么? 最佳答案 分布式缓存默认是几千兆字节,所以300MB不一定是问题。(您可以在mapred-site.xml中调整大小。)如果您的作业经常运行并且缓存中几乎没有其他改动,那么为节点获取300MB仍然是值得的。另一种选择是将您的文件放在HDFS上,让任务从那

hadoop - 如何使用 Hive、Pig 或 MapReduce 处理 "insert into values"?

我是hadoop和大数据概念的新手。我正在使用Hortonworks沙箱并尝试操作csv文件的值。所以我使用文件浏览器导入文件并在配置单元中创建一个表来做一些查询。实际上我想要一个“插入值”查询来选择一些行,更改列的值(例如将字符串更改为二进制0或1)并将其插入到新表中。SQLLIKE查询可能是这样的:Insertintotable1(id,name,'01')selectid,name,graduatedfromtable2whereuniversity='aaa'不幸的是,hive无法插入(常量)值(不从文件导入),我不知道如何使用hive、pig甚至mapreduce脚本来解决这