草庐IT

elastic-mapreduce

全部标签

java - Hadoop MapReduce - Euler 的 Totient/Sum of Totient(和其他数学运算)

作为我研究的一部分,我正在使用不同的并行计算语言实现Totient求和(Euler的Totient),老实说,我在MapReduce方面相当吃力。主要目标是对运行时、效率等进行基准测试......我的代码现在正在运行,我得到了正确的输出,但速度很慢,我想知道为什么。是因为我的实现还是因为HadoopMadReduce不是为此目的而设计的。我还实现了一个组合器,因为根据我的阅读,它应该优化代码,但事实并非如此。抱歉,如果这个问题看起来很愚蠢,但我在互联网上没有找到任何东西,而且我已经厌倦了尝试一切都没有任何结果。我的输入文件是1到15000之间的值123456...14998149991

java - 如何解决预期的 org.apache.hadoop.io.Text,在 mapreduce 作业中收到 org.apache.hadoop.io.LongWritable

我正在尝试编写一个可以分析来自youtube数据集的一些信息的工作。我相信我已经在驱动程序类中正确地设置了来自map的输出键,但是我仍然遇到上述错误我正在发布代码而这里的异常(exception),映射器publicclassYouTubeDataMapperextendsMapper{privatestaticfinalIntWritableone=newIntWritable(1);privateTextcategory=newText();publicvoidmapper(LongWritablekey,Textvalue,Contextcontext)throwsIOExcep

hadoop - Hadoop 集群环境中的 Mapreduce 作业连接被拒绝

我设置了一个4节点Hadoop集群,其中包含一个主节点和三个数据节点。在我尝试执行mapreduce作业之前,一切似乎都运行良好。Jps(主节点):[root@masterlogs]#jps26967SecondaryNameNode25720JobHistoryServer26778NameNode27115ResourceManager27839JpsJps(数据节点):[root@localhost~]#jps21872DataNode22257Jps21974NodeManagermaster节点上的yarn日志文件给出如下异常:2018-05-2221:59:10,376IN

java - Hadoop MapReduce的Java实现中如何创建全局变量?

现在我想创建一个全局双变量(成员),它可以被MapReduce作业中的每个映射器/缩减器访问和更改。起初我试图在我的主java文件中声明一个静态double成员,但这似乎有问题,因为每个映射器/缩减器都在单独的JVM上运行,并且可以正确更改和访问该成员。我知道对于int变量有counter机制。但是,如果我想创建一个全局double变量,我该怎么做呢?我的最终目标是总结所有映射器/缩减器中的双重格式。如果我不能或不应该创建全局变量,是否有任何其他方法可以实现该目标? 最佳答案 这些double来自哪里?如果它们在输入数据中,您可以将

java - mapreduce 程序中的错误 : Exception in thread "main" java. lang.VerifyError

我是mapreduce程序的初学者,在运行该程序时出现以下错误:Exceptioninthread"main"java.lang.VerifyError:(class:com/google/common/collect/Interners,method:newWeakInternersignature:()Lcom/google/common/collect/Interner;)Incompatibleargumenttofunction错误是什么以及要包含哪个jar文件? 最佳答案 另一个原因是同时使用google-collect

hadoop - mapreduce 程序 : Reducer is not getting called

我知道在这里问这个问题是非常愚蠢的。可能是我的眼睛不好或什么的。我无法理解为什么我的reducer没有被调用,即使我已经在驱动程序类中配置了它。请帮助我确定我错过了什么的确切位置。我的司机类(class)publicclassDPDriver{publicstaticvoidmain(String[]args)throwsIOException,InterruptedException,ClassNotFoundException{Configurationconfig=newConfiguration();config.set("mapred.textoutputformat.sep

java - Hadoop HDFS MapReduce 输出到 MongoDb

我想编写Java程序,它从HDFS读取输入,使用MapReduce处理它并将输出写入MongoDb。场景如下:我有一个包含3个数据节点的Hadoop集群。Java程序从HDFS读取输入,并使用MapReduce对其进行处理。最后将结果写入MongoDb。其实从HDFS读取数据,用MapReduce处理很简单。但是我对将结果写入MongoDb感到困惑。是否支持任何JavaAPI将结果写入MongoDB?另外一个问题是,由于是HadoopCluster,所以我们不知道哪个datanode会运行Reducer任务并产生结果,是否可以将结果写到安装在特定服务器上的MongoDb中?如果我想把结

java - Hadoop MapReduce 中数值数据集的分箱

我能够使用HadoopMapReduce在数据挖掘中执行一些预处理步骤。其中之一就是规范化。说100,1:2:3101,2:3:4进入100110021003101210131014我能像iris.csv一样对数字数据进行装箱吗?我算出了它背后的数学原理虹膜数据集:http://archive.ics.uci.edu/ml/datasets/Iris找出每个属性的最小值和最大值在数据集中。萼片长度|萼片宽度|花瓣长度|花瓣宽度分钟|4.3|2.0|1.0|0.1最大|7.9|4.4|6.9|2.5然后,我们应该将每个属性的数据值分成“n”个桶。比如说,n=5。BucketWidth=(

hadoop - 根据相同键的值编写列表 MapReduce Hadoop

有谁知道如何在一行中将同一键的值列表写入输出文件?例如,我有这个:(键,值)0[0,2,4,5],1[1,2,3]我想要输出:002451123代替000204...等等 最佳答案 只需将reducer中的所有值连接成一个字符串,然后将值作为Text写出。例如publicvoidreduce(IntWritablekey,Iterablevalues,Contextcontext)...{StringBuildersb=newStringBuilder();for(IntWritablevalue:values){sb.append

java - 从 Java 应用程序在 hadoop 2.2 (Yarn) 上启动 mapreduce 作业

我正在尝试从Java应用程序调用mapreduce作业。在以前的hadoop版本(1.x)中,我创建了一个Configuration对象和一个Job对象,在Configuration中设置mapred.job.tracker和fs.default.name并运行Job。现在,在hadoop2.x中,作业跟踪器不再存在,也不存在任何关于如何以编程方式运行MR作业的文档。有什么想法吗?我正在寻找的是此处给出的解释:callmapreducefromajavaprogram 最佳答案 你需要三样东西://thisshouldbeliked