大数据在2014年逐渐爆发,越来越多的企业发现了大数据的用途,不仅可以用来管理每天的业务流程,还能解决复杂的商业问题。大数据很快跃升为热点词,并将自己打造成可以解决大大小小商业实体问题的可靠技术。
大数据,顾名思义,就是在我们周围存在的巨大量级数据,这些数据可以是在智能设备、互联网、社交媒体、聊天室、移动APP、电话呼叫、商品购买等一系列使用活动中产生。大数据技术就是用来收集、存储和分析这些量级(一般达到拍字节)的信息。
大数据技术彻底改变了人们看待数据和数据库存储的方式,颠覆了数据的使用方法。在军事上,大数据可以用来阻止外敌的入侵。在NBA比赛中,大数据技术可以捕获和分析成千上万的个体运动。医学上使用大数据技术来抵抗癌症和心脏病。汽车公司通过大数据技术实现汽车自驾和互通信。
大数据正在改变世界。那么,这一切的背后是什么软件系统在支撑?大数据技术又是如何迅速流行并保持上升趋势的呢?
答案是Hadoop。
很多人认为Hadoop就是大数据。其实并不是这样的。大数据在Hadoop之前就产生了,而且在没有Hadoop的情况下可以继续存在。不过目前Hadoop是大数据的有力搭档,它们有着密切的关系。正因为如此,导致很多人使用Hadoop,如今你几乎找不到一家没有使用Hadoop软件的大数据公司。那么Hadoop到底是什么?
Hadoop是一个“软件库”,它让用户可以通过简单的编程模型操纵计算机集群来处理大型数据集。换个说法就是,它让企业有能力去收集、存储和分析大量的数据集。
此外,理解Hadoop的一个很重要的方面是,它是一个软件库。Hadoop中包含大量的程序库,这些程序补充基础的Hadoop框架,让企业有合适的工具去获得想要的Hadoop结果。
接下来,让我们了解一下Hadoop的生态系统。更多信息可以参见Hadoop官网。
Hadoop项目包括很多组件――Hadoop Common,Hadoop Distributed File System,Hadoop YARN和Hadoop MapReduce。这些组件系统共同提供给用户并支持附加的Hadoop工程的工具,让用户有能力实时处理大数据集,在这里Hadoop自动调度任务和管理集群资源。
下面列出一些Hadoop组件,不同的组件分别提供特定的服务。
Apache Hive:数据仓库基础设施,提供数据汇总和特定查询。这个系统支持用户进行有效的查询,并实时得到返回结果。
Apache Spark:Apache Spark是提供大数据集上快速进行数据分析的计算引擎。它建立在HDFS之上,却绕过了MapReduce使用自己的数据处理框架。Spark常用于实时查询、流处理、迭代算法、复杂操作运算和机器学习。
Apache Ambari:Ambari用来协助管理Hadoop。它提供对Hadoop生态系统中许多工具的支持,包括Hive、HBase、Pig、 Spooq和ZooKeeper。这个工具提供集群管理仪表盘,可以跟踪集群运行状态,帮助诊断性能问题。
Apache Pig:Pig是一个集成高级查询语言的平台,可以用来处理大数据集。
Apache HBase:HBase是一个非关系型数据库管理系统,运行在HDFS之上。它用来处理大数据工程中稀疏数据集。
其他常见的Hadoop项目还包括Avro、Cassandra、Chukwa, Mahout和ZooKeeper。
用户通过Hadoop可以利用许多工具和资源,用真正的大数据技术来适应不同的业务需求。