草庐IT

mapreduce_shuffle

全部标签

java - 空指针异常 - Hadoop Mapreduce 作业

我是Hadoop和Java的初学者,我正在编写Map、Reduce函数以根据邻近度将一组纬度和经度聚类到组中,并设置一个量级(集群中纬度、经度对的数量)和一个有代表性的经纬度对(截至目前,这是遇到的第一个经纬度对。)这是我的代码:packageorg.myorg;importjava.io.IOException;importjava.util.*;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.conf.*;importorg.apache.hadoop.io.*;importorg.apache.hadoop.mapr

python - 基于mapreduce和hadoop的迭代kmeans

我已经为Hadoop编写了一个简单的k-means集群代码(两个独立的程序-mapper和reducer)。该代码正在我本地盒子上的一个小型二维点数据集上工作。它是用Python编写的,我打算使用StreamingAPI。每次运行mapper和reducer后,都会生成新的中心。这些中心是下一次迭代的输入。根据建议,我使用了mrjob,jobpython,适合多步,defsteps(self):return[self.mr(mapper=self.anything,combiner=self.anything,reducer=self.anything)]这只是一次迭代,请告诉我在生成

hadoop - Amazon Elastic Mapreduce 默认配置

Hadoop默认配置(core-site.xml、yarn-site.xml等)是否由Amazon发布?我看到了一些已发布的参数,但没有看到全部默认配置。 最佳答案 您将在以下链接的amazonemr文档页面找到默认配置http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/TaskConfiguration_H2.html您可以找到触发作业的配置。您可以访问保存日志的S3位置。在那里你会找到j-yourjoblogsfilelocation/jobs/jo

hadoop - 如何配置 Hadoop 将我的 MapReduce 日志发送到 graylog2

我正在使用Hadoop1.2.1创建一系列链式mapreduce作业,这些作业将在我们的生产环境中定期运行。目前,我们正在使用graylog2来集中访问日志,我希望将我的工作日志发送到我们的日志服务器。我已经将gelfjjar文件添加到/usr/share/hadoop/lib并修改了/etc/hadoop/task-log4j.properties以将日志输出到graylog,但到目前为止我没有看到任何东西到达graylog2端.任何人都可以确认hadoop作业可以使用备用日志附加器吗?应该更新什么配置文件来做到这一点? 最佳答案

algorithm - 从 mapreduce 中的 n 个元素中选择 k

假设输入x记录,其中n具有所需的属性(例如,它们的值为正)并且所有x具有唯一键。我想做的是,在MapReduce中使用仅限map的作业,恰好发出这些n记录中的k。例如,假设这是我的输入:(a,10)(g,-3)(c,-2)(f,4)(s,2)并且我想发射2个具有正值的元素。在这个例子中,x是5,n是3,k是2。我知道x(我认为不需要),k和n在作业开始之前。问题是具有正值的记录可以由不同的映射器处理。我想到的是,在每个映射器中使用大小为n的哈希表,并使用键的哈希值将具有正值的元素放入该哈希表中。然后,哈希表的前k位置的元素将被发出。但是,如果两个记录落在同一个哈希桶中,这将不起作用。还

Python hadoop mapreduce 作业使用 mrjob subprocess.CalledProcessError

我正在尝试在我的自定义数据上运行来自mrjob网站的基本示例。我已经使用流成功运行了Hadoopmapreduce,我也成功地尝试了没有Hadoop的脚本,但现在我正尝试通过mrjob在Hadoop上运行它,方法是执行以下命令。./mapred.py-rhadoop--hadoop-bin/usr/bin/hadoop-ohdfs:///user/cloudera/wc_result_mrjobhdfs:///user/cloudera/booksmapred.py源码如下:#!/usr/bin/envpythonfrommrjob.jobimportMRJobclassMRWordF

java - MapReduce 程序产生空输出

我创建了一个mapreduce程序来获取世界指标数据来显示我想要分析的特定指标的结果。(即二氧化碳排放量)。数据排成一长行,包括国家、代码、指标、第1年排放量、第2年排放量等。在我的映射器中,我试图只保留我想要的数据(首先只保留线,如果它具有特定指标),然后保留国家和所有排放水平(在字符串数组中)。我的整个程序运行,但我注意到它正在接收Map输入记录,但没有Map输出记录或ReduceInput/Output记录。我一直试图找出我的逻辑哪里出了问题,但我很困惑。感谢任何输入。我的代码如下:---映射器--packageorg.myorg;importjava.io.IOExceptio

java - Hadoop 中 Mapreduce 程序的意外输出

我正在研究Hadoop。我的输出是预期的两倍。我无法理解为什么会这样。请帮助我下面是映射器类:importjava.io.File;importjava.io.IOException;importjava.util.Scanner;importorg.apache.hadoop.io.*;importorg.apache.hadoop.mapred.*;publicclassStringMapperextendsMapReduceBaseimplementsMapper{//hadoopsupporteddatatypesprivatestaticIntWritablesend;pri

hadoop - Mapreduce combinefileinputformat java.lang.reflect.InvocationTargetException 而两个作业访问相同的数据

HadoopMapreduceCombineFileInputFormat在读取大量小文件时效果很好,但我注意到有时作业会因以下异常而失败,java.lang.RuntimeException:java.lang.reflect.InvocationTargetExceptionatorg.apache.hadoop.mapreduce.lib.input.CombineFileRecordReader.initNextRecordReader(CombineFileRecordReader.java:164)atorg.apache.hadoop.mapreduce.lib.inpu

hadoop - 无法启动 Hive 查询(MapReduce)

我在配置单元查询方面遇到问题。如果我尝试从hue界面启动count(*)查询,但出现这样的异常:15/01/2315:06:42ERRORoperation.Operation:Errorrunninghivequery:org.apache.hive.service.cli.HiveSQLException:Errorwhileprocessingstatement:FAILED:ExecutionError,returncode2fromorg.apache.hadoop.hive.ql.exec.mr.MapRedTaskatorg.apache.hive.service.cli