草庐IT

mapReduce

全部标签

hadoop - 从 hadoop 外部访问 hdfs

我想使用存储在HDFS中的输入文件在hadoop之外(但在同一集群上)运行一些可执行文件。这些文件需要复制到节点本地吗?或者有没有办法在hadoop之外访问HDFS?有关如何执行此操作的任何其他建议都很好。不幸的是,我的可执行文件不能在hadoop中运行。谢谢! 最佳答案 有几种典型的方法:您可以通过HDFSJavaAPI访问HDFS文件如果您正在用Java编写程序。您可能正在寻找open.这将为您提供一个类似于通用打开文件的流。如果您的程序通过标准输入获取输入,您可以使用hadoopcat流式传输数据:hadoopfs-cat/p

hadoop - 处理错误 : Found interface org. apache.hadoop.mapreduce.TaskAttemptContext,但类是预期的

我正在使用CDH4并使用新的mapreduceAPI编写了一个MapReduce应用程序。我已经针对hadoop-core-1.0.3.jar编译了它,当我在我的Hadoop集群上运行它时,我得到了错误:错误:找到接口(interface)org.apache.hadoop.mapreduce.TaskAttemptContext,但需要类我提到了thisStackOverflowquestion这似乎在谈论同一个问题。答案表明我们针对Hadoop-core-2.X.jar文件编译出代码,但我找不到类似的东西。那么我该如何编译它才能在CDH4中完美运行。 最

hadoop - SVD 实现 map reduce

您好,我需要使用MapReduce对大型密集方形矩阵执行奇异值分解。我已经查看了Mahout项目,但他们提供的是TSQR算法http://arbenson.github.io/portfolio/Math221/AustinBenson-math221-report.pdf.问题是我想要满级,这种方法在这种情况下不起作用。他们之前使用的分布式LanczosSVD实现也不适合我的情况。我发现TWO-SIDEDJACOBISCHEME可以用于此目的,但我没有设法找到任何可用的实现。有人知道我是否以及在哪里可以找到引用代码吗? 最佳答案

eclipse - 新的 MapReduce 架构和 Eclipse

Hadoop正在围绕MapReduce进行一些重大重构。关于相同的详细信息可以在下面的JIRA中找到。https://issues.apache.org/jira/browse/MAPREDUCE-279它有ResourceManager、NodeManager和HistoryServer守护进程。有没有人试过在Eclipse中运行它们?这将使开发和调试更加容易。我在Hadoop论坛发了邮件,没有人试过。只是想检查是否有人在stackoverflow中做过类似的事情。 最佳答案 Nourl等待https://issues.apach

generics - 引用具有原始类型约束的基本类型

我一直在玩弄Scala,试图获得SMR使用2.9.1在ScalaIDE中编译。SMR自2008年以来似乎没有受到影响,并且有很多Unresolved编译错误。我遇到的问题是这一行:jobConf.setMapRunnerClass(classOf[ClosureMapper[_,_,_,_]]);ClosureMapper是这样定义的:classClosureMapper[K1,V1,K2,V2]extendsMapRunnable[Writable,Writable,Writable,Writable]{...}我得到的错误是:typemismatch;found:java.lang

hadoop - HBase 如何在整个集群中分配来自 MapReduce 的新区域?

我的情况如下:我有一个20节点的Hadoop/HBase集群和3个ZooKeepers。我通过MapReduce对从HBase表到其他HBase表的数据进行了大量处理。现在,如果我创建一个新表,并告诉任何作业使用该表作为输出接收器,它的所有数据都会进入同一个区域服务器。如果只有几个区域,这不会让我感到惊讶。我有一个特定的表有大约450个区域,现在问题来了:这些区域中的大部分(大约80%)都在同一个区域服务器上!我现在想知道HBase如何在整个集群中分配新区域,以及这种行为是正常/期望的还是错误。不幸的是,我不知道从哪里开始查找代码中的错误。我问的原因是这会使作业变得异常缓慢。只有当作业

hadoop - 为什么map任务总是在单个节点上运行

我有一个具有4个节点的全分布式Hadoop集群。当我将我的工作提交给Jobtracker时,它决定12个maptask对我的工作来说很酷,一些奇怪的事情发生了。12个maptask总是在单个节点上运行,而不是在单个节点上运行在整个集群上运行。在我问这个问题之前,我已经做了以下事情:尝试不同的工作运行start-balance.sh重新平衡集群但是它不起作用,所以我希望有人能告诉我为什么以及如何修复它。 最佳答案 如果输入数据文件的所有block都在该节点中,则调度程序优先考虑同一节点 关

Python 代码有效,但 Hadoop Streaming 生成 part-00000 "Empty file"

在Ubuntu虚拟机上,我根据MichaelNoll的tutorial设置了一个单节点集群这是我编写Hadoop程序的起点。另外,作为引用,this.我的程序使用Python并使用HadoopStreaming。我写了一个简单的向量乘法程序,其中mapper.py接受输入文件v1和v2,每个文件都包含一个向量12,33,10并返回产品。然后reducer.py返回乘积之和,即:映射器:map(mult,v1,v2)reducer:sum(p1,p2,p3,...,pn)映射器.py:importsysdefmult(x,y):returnint(x)*int(y)#Inputcomes

java - 为 cassandra 创建 ColumnFamilyInputFormat 的自定义 InputFormat

我正在做一个项目,使用cassandra1.2,hadoop1.2我已经创建了我的普通cassandra映射器和缩减器,但我想创建我自己的输入格式类,它将从cassandra读取记录,我将通过使用拆分和索引拆分该值来获得所需的列值,所以,我计划创建自定义格式类。但我很困惑,不知道,我该怎么做?要扩展和实现哪些类,以及我将如何获取行键、列名、列值等我的Mapper类如下:publicclassMyMapperextendsMapper,Text,Text>{privateTextword=newText();MyJDBCdb=newMyJDBC();publicvoidmap(ByteB

hadoop - mapreduce 条件概率

如何使用映射器在我的reducer中进行概率聚合;我正在尝试在Hadoop上为以下任务实现“strip”方法和“对”方法,但我想知道如何在多个映射器之间进行通信以及如何在内部进行面向概率的聚合我的reducer。每对item的共现,Count(A,B)=#oftransactionscontainsbothAandB,andtheconditionalprobabilityProb(B|A)=Count(A,B)/Count(A).每个三元组项目的共现,Count(A,B,C)=#oftransactionscontainsbothAandB,andtheconditionalprob