让你的Hadoop运行的更快

目前,在">数据处理上的一个挑战是,我们输入数据的速度往往比我们处理数据的速度快得多。在大数据的环境下,随着数据量的继续增长,以及相应的需要更多的复杂的数据处理,这个问题正变得更加明显。

帮助批处理

Hadoop的目的是通过以下几种方式应对这一挑战:

1. 使用一个分布式的文件系统:这使我们能够分散负载,并根据需要壮大我们的系统。

2. 优化写入速度:为了能够快速写入设计的Hadoop架构,需要在第一次登录时写入并处理。这可让写入速度相当快。

3. 使用批处理(Map/Reduce)来用处理速度平衡数据馈送的速度

批处理的挑战

批量处理所面临的挑战是它假定数据量突然增加。如果我们的数据在一个连续的基础上稳定到来,那么假设将导致整个批量处理背后的架构开始崩溃。

如果我们增加了批处理窗口,结果是在数据到来的这段时间里的更高的延迟,直到我们真正得到它并纳入我们的报告和见解里。此外,在许多系统中,每天进行的批处理窗口时间是有限的。通常情况下,假设大部分的处理可以在非高峰时段来进行,但是,体积变大,处理的数据所花费的时间变长,直到有一天它达到时间极限,然后我们面临处理一个不断增长的积压的问题。此外,如果我们的处理过程发生失败,我们可能没有足够的时间来重新处理。

通过基于流的处理来加快速度

基于流的处理概念是相当简单的。我们可以在数据进来的同时处理它,而不是先记录再处理。

用生产线这个很好的比喻来解释其中的差别。想想一家汽车制造线:一种方法是把所有的部件放在一起,然后一件一件地组装;另一种方法是让制造商包装各个部件,并只发送包装好的部件到制造线上。哪种方法更快?

Hadoop批处理系统和制造业的生产线是一样的道理。

在制造业中,即使我们在制造商那里预先包装零部件,我们仍然需要把所有的部件一起组装起来。同样的道理,基于流的处理并不意味着要取代我们的Hadoop系统,而是减少系统需要处理的大量工作,并让进入Hadoop的过程变得更容易,从而让数据处理更快。

(责任编辑:蒙遗善)

时间: 2024-11-18 14:12:25

让你的Hadoop运行的更快的相关文章

大数据处理过程中,如何让Hadoop运行得更快一些?

在数据处理方面,我们发现数据输入速度一般要比的数据处理速度快很多,这种现象在大数据领域尤为明显.随着数据不断膨胀,相应的响应时间自然要有所增加,数据处理的复杂度也在不断提高.作为一个开发者,我们自然非常关注系统的运行速度问题.在云计算领域,一个小技巧也许能带来系统性能的大幅度提升.对于Hadoop来说,如何提升它的速度呢?来看看下文. Hadoop是用以下的方式来解决速度问题: 1 使用分布式文件系统:这使得负载分摊,并壮大系统 2 优化写入速度:为了获得更快的写入速度,Hadoop架构是设计成

如何让Hadoop运行得更快一些

在http://www.aliyun.com/zixun/aggregation/14345.html">数据处理方面,我们发现数据输入速度一般要比的数据处理速度快很多,这种现象在大数据领域尤为明显.随着数据不断膨胀,相应的响应时间自然要有所增加,数据处理的 复杂度也在不断提高.作为一个开发者,我们自然非常关注系统的运行速度问题.在云计算领域,一个小技巧也许能带来系统性能的大幅度提升.对于Hadoop来说,如何提升它的速度呢? 来看看下文. Hadoop是用以下的方式来解决速度问题: 1

Windows7系统优化之禁用多余UAC让Win7运行得更快

很多用户都希望自己的Windows7运行得更流畅,跑得更快,但大多数用户都找不到合适的方法来加快系统!其实,使用一些小小技巧就能让Windows7飞起来! 下面介绍其中的一个优化Windows7的小方法--禁用多余的UAC. Windows7的UAC,其实总的来说,是没什么大作用的,笔者嫌它麻烦,所以一般都是关闭它的,相信很多的有一点经验的用户都同笔者一样.让操作流畅点,也让系统更快,可以尝试关掉UAC. 下面笔者来配合图片来介绍简单的操作流程: 打开"开始"菜单,进入"控制

如何让你的SQL运行得更快

 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显.笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计.不充份的连接条件和不可优化的where子句.在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结: 为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表示为(<

让你的SQL运行得更快

---- 人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显.笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计.不充份的连接条件和不可优化的where子句.在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结: ---- 为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过

如何让你的SQL运行得更快_数据库其它

人们在使用SQL时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽略了不同的实现方法之间可能存在的性能差异,这种性能差异在大型的或是复杂的数据库环境中(如联机事务处理OLTP或决策支持系统DSS)中表现得尤为明显.笔者在工作实践中发现,不良的SQL往往来自于不恰当的索引设计.不充份的连接条件和不可优化的where子句.在对它们进行适当的优化后,其运行速度有了明显地提高!下面我将从这三个方面分别进行总结: ---- 为了更直观地说明问题,所有实例中的SQL运行时间均经过测试,不超过1秒的均表

[转载]让SQL运行得更快_数据库其它

一.不合理的索引设计   ----例:表record有620000行,试看在不同的索引下,下面几个 SQL的运行情况:   ---- 1.在date上建有一非个群集索引   select count(*) from record where date >   '19991201' and date < '19991214'and amount >   2000 (25秒)   select date,sum(amount) from record group by date   (55秒

[注册表]让光驱运行得更快_注册表

对于每一个电脑发烧友来说,光驱的读写速度是我们非常关心的,特别是当我们在安装软件的时候.更换性能更好的光驱是我们永远追求的目标,但是限于囊中羞涩,那么为光驱增加缓存是提高现有光驱读写速度的一个有效方法,由于Windows 98推荐使用四倍速或更高速的光驱访问方式,与目前所流行的光驱不相符合.为了适应当今流行的16倍速以上的光驱,我们可以通过修改注册表来提高光驱缓存的大小和预读取性能,以加快光驱的运行速度,将光驱性能发挥到极限. 1. 打开注册表编辑器(开始→运行→Regedit): 2. 找到"

怎么让Win8系统运行的更快

当Windows8用户在系统中安装很多软件或是玩游戏,感觉卡顿的时候,用户需要添加虚拟内存来缓解系统压力,用户按照下面教程来为Windows8系统设置虚拟内存. 操作步骤 1. 右键按桌面上的"计算机"属性,来到"系统"属性窗口,单击左侧的"高级系统设置". 2. 继续单击"高级"→"设置". 3. 弹出"性能选项"→"高级"→"更改". 4. 在