jjzjj

mapReduce

全部标签

任务14:使用MapReduce提取全国每年最低/最高气温

任务描述知识点:使用MapReduce提取数据重 点:开发MapReduce程序统计每年每个月的最低气温统计每年每个月的最高气温内 容:使用IDEA创建一个MapReduce项目开发MapReduce程序使用MapReduce统计每年每个月的最低气温使用MapReduce统计每年每个月的最高气温任务指导1.使用MapReduce提取最低气温使用IDEA创建Maven项目:TemperatureDemo在Settings中配置Maven配置pom.xml文件开发MapReduce程序com.MinTemperatureMapper:提取日期和气温数据com.MinTemperatureReduc

java - Hadoop 2.2 - 合并 Reducer 输出

我的Map/Reduce作业输出表格的行Key15Key28Key34Key17Key33我想汇总这些结果以按键获得值的总和。所以像这样:Key112(5+7)Key28Key37(4+3)天真的方法是简单地将另一个Map/Reduce作业链接到第一个作业之后,但它效率低下,因为你的I/O比必要的多两倍,开销等。所以我想避免这种解决方案。最好的方法可能是map->reduce1->reduce2,其中reduce1的输出是reduce2的输入。不幸的是,这似乎是不可能的(例如参见ChainingMulti-ReducersinaHadoopMapReducejob)。我也看过Chain

mongodb - 我的 MongoDB 需要 Hadoop 吗?

我对MongoDB的使用非常简单。我只有一个副本集并在不使用MapReduce的情况下处理一些基本查询。我听说Hadoop是很棒的数据处理工具,一旦连接到MongoDB就可以提高性能。它可以很好地处理MapReduce,但它对我不包含任何MapReduce函数的情况有用吗?此外,如果我在MongoDB中使用MapReduce并连接到Hadoop,性能将如何提高? 最佳答案 Hadoop适用于批处理和海量数据(GB到TB)。因此,如果您不期望您的案例中有那么大的数据量并且您需要即时输出查询,那么您最好单独使用mongo来完成。Hado

java - "Pivot"使用 Hadoop 的表

(免责声明:我是Hadoop和Java的新手)作为输入,有一个具有简单键值结构的表:key1value1key2value2key3value3key2value4key1value5key1value6作为输出,我想为每个键收集属于特定键的所有值,所以像这样:key1,value1value5value6key2,value2value4key3,value3这是我的映射器:publicclassWordMapperextendsMapper{@Overridepublicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOExcep

exception - 线程 "main"java.lang.ClassNotFoundException

尝试运行作业,但我不断收到此错误。我不知道如何解决它。我缺少什么吗?这里有什么问题?这是在我的壳里[cloudera@localhosthome]$hadoopjarcloudera/MinMaxCountDriver.jarMinMaxCount/user/cloudera/Comments.xml/user/cloudera/SuperUserXML/这是我得到的错误线程“main”中的异常java.lang.ClassNotFoundException:MinMaxCount....在java.lang.Class.forName0(native方法)在java.lang.Cla

hadoop - yarn : How to run MapReduce jobs with lot of mappers comparing to cluster size

我有1节点Hadoop测试设置和MapReduce作业,它启动96个映射器和6个缩减器。在迁移到YARN之前,这项工作表现稳定但正常。使用YARN,它开始100%挂起,大多数映射器处于“挂起”状态。作业实际上是6个子作业(每个16个映射器+1个缩减器)。此配置反射(reflect)了生产过程顺序。所有这些都在单个JobControl下。与集群大小相比,节点数量少且作业相对较大的情况下,是否需要检查任何配置或最佳实践?当然,我关心的不是性能,而是开发人员完成这项工作的能力。最坏的情况是我可以通过分组子作业来“减少作业”,但我不想这样做,因为在生产中没有理由这样做,我希望测试和生产顺序相同

hadoop - 当映射器在 EMR 流式处理作业中死亡时会发生什么?

在弹性mapreduce流作业中,如果mapper突然挂掉会发生什么?已经处理过的数据会被重播?如果是这样,是否有任何选项可以禁用它?我问是因为我正在使用EMR将一些数据插入第三方数据库。每个映射器发送通过HTTP传入的数据。在这种情况下,如果映射器崩溃,我不想重播HTTP请求,我需要从我离开的地方继续。 最佳答案 MR是一个容错框架。当Map任务失败时(流式API或JavaAPI),行为是相同的。一旦作业跟踪器收到任务失败的通知,它将尝试重新安排任务。失败任务生成的临时输出被删除。关于MR中如何处理失败的更详细的讨论可见here对

hadoop - 如何通过并行运行的两个 map task 并行读取两个文件

请对我放轻松一点,因为我才接触Hadoop和Mapreduce3个月。我有2个文件,每个文件120MB,每个文件中的数据完全是非结构化的,但具有共同的模式。由于数据结构不同,默认的LineInputFormat无法满足我的要求。因此,在读取文件时,我覆盖了isSplitable()方法并通过返回false来停止拆分。这样1个映射器就可以访问一个完整的文件,我可以执行我的逻辑并实现要求。我的机器可以并行运行两个映射器,所以通过停止拆分,我通过为每个文件一个一个地运行映射器而不是为一个文件并行运行两个映射器来降低性能。我的问题是如何为两个文件并行运行两个映射器以提高性能。例如Whenspl

hadoop_mapreduce_wordcount 字符串到文本或文本到字符串

选择计数(*)从F其中A='李'我想使用wordcount示例将此查询转化为代码。publicclassWordCountDriver{publicstaticvoidmain(String[]args)throwsException{Configurationconf=newConfiguration();Jobjob=newJob(conf,"wordcount");job.setJarByClass(WordCountDriver.class);job.setMapperClass(WordCountMapper.class);job.setInputFormatClass(Te

java - Hadoop Map Reduce 程序键值传递

我正在尝试学习hadoop。我从免费的大型数据集网站下载了以下文件。我把它简化为我的sample测试。这是小文件。"CAMIS","DBA","BORO","BUILDING","STREET","ZIPCODE","PHONE","CUISINECODE","INSPDATE","ACTION","VIOLCODE","SCORE","CURRENTGRADE","GRADEDATE","RECORDDATE""40280083","INTERCONTINENTALTHEBARCLAY","1","111","EAST48STREET","10017","2129063134","0