Apache软件基金会终于推出了最新的Hadoop2数据分析平台,从而引发了舆论对大数据演进大飞跃的美好憧憬,此前我曾经写过“Hadoop就是大数据应用又何妨”一文,对国内大数据市场现状进行了分析。如今Hadoop 2发布,会如舆论所预计一样刺激大数据应用和发展吗?
我认为首先要看一下,Hadoop 2进行了哪些改进?从相关报道来看,Hadoop 2最大的改进是发布了YARN数据处理和服务引擎,用于对Map/Reduce进行了改进,同时为Hadoop File System (HDFS)添加高可用特性。
可以看一些技术细节,对Hadoop数据进行访问,需要开发Java应用实现Map/Reduce,学习起来会有一些困难,除此之外,也可以采用Hbase,用近似数据库范式来处理数据。其Hive数据仓库让你可用类SQL的HiveSQL查询语言来创建查询,并转化为MapReduce任务。不过Hadoop仍受限于单线程性。MapReduce任务、Hive查询、Hbase操作等等都要轮流进行,这就是局限。
Hadoop开发社区也意识到这个问题,在Hadoop2进行了改进,将Map/Reduce升级为Apache YARN(Yet Another Resource Negotiator)。
YARN项目主管ArunMurthy指出:Hadoop1.0和2.0的区别在于,前者所有的事情都是面向批处理的,而后者则允许多个应用同时在内部访问数据。
换句话说,相对于当前Map/Reduce系统能处理的事情,把这些功能分开使得Hadoop集群资源的管理更加强大。其主要管理方式类似于操作系统对任务的处理,不再有一次一项操作的限制了。
有了YARN,开发者就能够直接在Hadoop内部来开发应用,而不是像许多第三方工具所做的那样,在外面把数据筛选出来。
从Hadoop 1.0到2.0对于用户来说并没有本质不同,只是从技术的角度,简化技术开发的难度,是一种量的积累,而不是质的改变。对于最终用户来说,Map/Reduce也好,YARN也好,不过是一种对资源的调度和使用方式。
因此,无论Hadoop 1.0、2.0其最大的贡献还在于让我们有机会使用X86等廉价手段来处理海量结构化数据,这也是大数据应用被广泛推广和谈及的主要原因。从目前来看,国内大数据应用所需要的还是大数据服务的提供商,至于这些服务商使用Map/Reduce,还是YARN都不重要,重要的不是工具,而是服务和结果。无论是Map/Reduce,还是YARN都不是普通非专业人员可以使用的,它还不想使用PC这么简单,现在所需要的是会使用Map/Reduce,或者YARN的人,需要他们提供专业化的服务。
Hadoop 2会促进大数据应用和发展,但在国内关键化问题仍然没有解决,因此难以乐观。