草庐IT

mapreduce_shuffle

全部标签

hadoop - 如何为下一个作业共享或存储上一个 MapReduce 作业的状态?

我想在mapreduce作业结束时存储/更改一个标志(这会偶尔更改)。该作业将计划每30分钟运行一次。所以一开始它会存储标志,然后当作业中的验证失败时它会改变标志(我想为下一个作业保留这个状态),它将在每次作业执行时检查。我不太确定存储此标志的最佳方式是什么? 最佳答案 要链接MapReduce作业,请查看:https://developer.yahoo.com/hadoop/tutorial/module4.html#chaining但是,如果您需要作业每x分钟运行一次,请尝试使用Oozie来安排它们。如果您使用的是AWS,请查看

Eclipse MapReduce 插件 Hadoop 2.5.2

我知道这个问题之前已经被问过很多次,但我找不到这个具体案例的任何问题,而且这个问题是最新的。如何使用Hadoop2.5.2安装EclipseMapReduce插件?我找到了多个针对其他版本解决此问题的教程,并且我知道它可以从here编译而来。,但该链接虽然显示2.x,但最多只能显示2.4.1。我尝试使用以下命令使用2.5.2编译它:antjar-Dversion=2.4.1-Dhadoop.version=2.5.2-Declipse.home=/opt/eclipse-Dhadoop.home=/usr/local/hadoop-DBuildfile:build.xml这试图编译,但

hadoop - 流数据 [Hadoop/MapReduce] - 挑战是什么?

我在很多地方都读过有关流数据的信息,但只是想了解在使用MapReduce技术处理数据时所面临的挑战?即ApacheFlume、ApacheStorm等框架存在背后的原因。请分享您的建议和想法。谢谢,拉尼特 最佳答案 有很多技术,其中很多都运行在Hadoop框架上。Hive等较旧的Hadoop服务往往速度较慢,通常用于批处理作业,而不是流式处理。随着流式传输变得越来越必要,其他服务也浮出水面,例如Storm或Spark,它们旨在加快执行速度并与Kafka等消息队列集成以进行流式传输。虽然在数据分析中,大部分时间处理不是实时的:历史数据

java - Hadoop 中的 Mapreduce 在使用超过 200MB 的文件时会超出 GC 开销限制

我正在Hadoop多节点集群(2.4.1)上运行Mapreduce代码。当我尝试使用大小为200MB和200MB的2个输入文件运行时,出现错误GCoverheadlimitexceeded。当我使用非常小的文件时,它运行完美并得到正确的输出。我的目标是比较第一个文件中的每个流量记录和第二个文件中的每个流量记录并计算距离,然后取10个最大值并根据这10个最大值输出到reducer。值(value)观。两个文件中的示例流记录-194.144.0.27|192.168.1.5|0.0.0.0|0|0|2|104|1410985350|1410985350|51915|51413|6|6几张快

hadoop - 使用 MapReduce 处理 UDP 数据流

我在使用实时UDP流处理和mapreduce系统时遇到问题。实际上我正在做一个大学项目,我想使用mapreduce来处理这些数据。UDP流是关于来自多个AIS设备的船舶数据。据我所知,ApacheStorm将是解决该问题的方法。但我不知道我可以将mapreduce合并到Storm中。我想合并mapreduce概念,最终我想学习它。另外想请教一下系统架构,正常流程是这样的,系统接收到的UDP流解码流应显示实时分析为将来的数据重试目的而存储。那么谁能建议最好的方法是什么?ApacheStorm可以做到这一点吗? 最佳答案 我先回答这个简

mysql - 线程 "main"java.lang.IncompatibleClassChangeError : Found interface org. apache.hadoop.mapreduce.JobContext 中的异常,但类是预期的?

我正在使用彼此兼容的hadoop1.0和sqoop1.4。当我尝试将表从MySQL导入到hdfs时。sqoopimport--connectjdbc:mysql://localhost/mydemo--tablewordcount-m1--usernameroot--passwordroot123出现以下错误Exceptioninthread"main"java.lang.IncompatibleClassChangeError:Foundinterfaceorg.apache.hadoop.mapreduce.JobContext,butclasswasexpected?我已经尝试在

java - MapReduce HBase 空指针异常

我是大数据的初学者。首先,我想尝试mapreduce如何与hbase一起工作。该场景是基于作为主键的日期对我的hbase使用mapreduce中的字段uas求和。这是我的table:Hbase::Table-testROWCOLUMN+CELL10102010#1column=cf:nama,timestamp=1418267197429,value=jonru10102010#1column=cf:quiz,timestamp=1418267197429,value=\x00\x00\x00d10102010#1column=cf:uas,timestamp=141826719742

hadoop - 将文件拆分为 80% 和 20% 以在 MapReduce 中构建模型和预测的更好方法

我正在尝试将我的HDFS文件分成两部分/文件80%和20%用于分类算法(80%用于建模,20%用于预测)请提供相同的建议。要将80%和20%提取到2个单独的文件中,我们需要知道数据集中记录的确切数量。而且只有在我们遍历数据集时才知道。所以我们需要编写1MapReduceJob来计算记录的数量和第2Mapreduce作业,使用多输入将80%和20%分成2个文件。我在正确的轨道上吗?还是有其他选择。但又是一个小小的困惑如何检查reducer是否填充了80%的数据。 最佳答案 我建议您使用Random分割数据集,使用MultipleOut

hadoop - 为什么增加集群数量可以加快 Hadoop MapReduce 中的查询速度?

我刚开始学Hadoop,在官方的教程里,有提到doubleamountofclusters能够使查询双倍大小的数据与原始数据一样快。另一方面,传统的RDBM仍然花费两倍的时间在查询结果上。我无法掌握集群与处理数据之间的关系。希望有人能给我一些想法。 最佳答案 这是分布式计算的基本思想。如果您有一台服务器处理大小为X的数据,它将花费Y时间。如果您有2X数据,则同一台服务器将(大致)花费2Y时间。但是如果您有10台服务器并行工作(以分布式方式)并且它们都拥有完整的数据(X),那么它们将花费Y/10的时间。如果在一台服务器上拥有10倍以上

performance - 这个 Hadoop -Mapreduce 工作信息是什么意思?

我在1MB数据上运行了Hadoop-Mapreducejobwordcount程序。我对理解以下信息有些疑问:什么是计数器?为什么maptasks是两个,因为我知道map的数量取决于输入分割的数量,输入分割的最小大小是64MB。所以逻辑上应该只有一个Map任务!?reducer的输出数据大小是多少?CPU时间花费,哪个CPU导致每个tasktracker都有自己的CPU和内存?非常感谢![user1@li417-43~]$hadoopjarwordcount1.jarwordcount1.WordCount-Dmapred.reduce.tasks=10wordinwordout10-