(2)Hadoop,很多公司使用的工具

更新于 2026年10月13日 版权声明
(2)Hadoop,很多公司使用的工具

对于为什么那么多公司使用Hadoop,有很多不同的观点。

有人认为,从需求方面来讲,一般公司如果有收集和分析数据的需要,并且数据量一直在增加且不能舍弃的话,会使用Hadoop。

从目前来看,使用Hadoop的公司产生的数据多为日志数据,可用于分析用户习惯,或者是传感器之类的数据,用于分析环境监控等内容的变化规律。很多不使用Hadoop的公司在数据量较大的时候,通常使用NoSQL数据库就能够满足。比如多数政府部门或部分企业,他们对系统的易部署及易维护性要求更高。

那么,使用Hadoop的公司为什么选择Hadoop呢?最重要的是因为它里面有MapReduce,把大任务切分成一个个小任务,由集群的每台服务器来计算,最后把结果合并起来。

有人认为,选择Hadoop的原因主要有三点:其一,可以解决问题;其二,成本低;其三,生态圈成熟。

首先,Hadoop是为大数据而生的。

在Hadoop出现之前,人们大部分使用IBM的大型机处理大量数据。

目前,中国的银行系统很大一部分还使用大型机,但大型机成本很高。于是Google的工程师们经过思考,发现使用一个简单的分布式计算模型MapReduce就能满足他们的需求,于是他们就开发了一个MapReduce,还写了几篇关于这种计算方法的论文。

在先进思想和Google庞大数据量的数据验证基础上,复制技术变得很容易。于是Hadoop被开发了出来,而且Hadoop是Apache下的项目,正所谓大树底下好乘凉。

Hadoop底层的分布式文件系统具有高拓展性,通过数据冗余保证数据不丢失和提高计算效率,同时可以存储各种格式的数据。支持多种计算框架,既可以进行离线计算,也可以进行在线实时计算。

其次,可以把成本控制得很低。在可以解决我们的问题之后,就要考虑如何降低成本。①硬件成本:Hadoop架构在廉价的硬件服务器上,不需要非常昂贵的硬件做支撑。②软件成本:Hadoop是免费的、开源的产品,基于开源协议,可以自由修改,可控性更大。③开发成本:因为属于二次开发,同时因为有非常活跃的社区讨论,对开发人员的能力要求相对不高,工程师的学习成本也并不高。④维护成本:当集群规模非常大时,开发成本和维护成本会凸显出来。但是相对于自研系统来说,还是便宜很多。据说某司自研同类系统,几百名工程师近4年的投入,烧钱亿计,都尚未替换掉Hadoop。⑤其他成本:如系统的安全性,社区版本的频繁升级等。

再次,拥有成熟的生态圈。

部分系统归类:

部署,配置和监控:Ambari,Whirr;(https://www.daowen.com)

监控管理工具:Hue,karmasphere,eclipse plugin,cacti,ganglia;

数据序列化处理与任务调度:Avro,Zookeeper;

数据收集:Fuse,Webdav,Chukwa,Flume,Scribe,Nutch;

数据存储:HDFS;

类SQL查询数据仓库:Hive;

流式数据处理:Pig;

并行计算框架:MapReduce,Tez;

数据挖掘和机器学习:Mahout;

列式存储在线数据库:HBase;

元数据中心:HCatalog(可以和Pig,Hive,MapReduce等结合使用);

工作流控制:Oozie,Cascading;

数据导入导出到关系数据库:Sqoop,Flume,Hiho;

数据可视化:drilldown,Intellicus。

✍AI写作