大数据分析是现在十分火热的话题,从农业到工业、从金融到体育、从传统企业到初创公司,各行各业都在积极应用大数据分析,似乎你的企业不和大数据沾点边就会显得没有逼格一样。
随着大数据分析的持续走红,大数据分析工具也呈现出了遍地开花的态势,我们今天要说的Hadoop就是其中之一。
Hadoop是Apache开发的一个开源项目,短短几年的时间,我们就见证了Hadoop从无到有、从简陋到稳定的转变。目前Hadoop因其具有高度可扩展性,灵活性和成本效益,已经成为大数据分析的理想工具。
Hadoop对大数据存储和预测分析有什么好处?
Apache Hadoop软件库是一个框架,允许在集群服务器上使用简单的编程模型对大数据集进行分布式处理,它的可扩展性非常好,可以从单台服务器扩展到数以千计的服务器。Hadoop在大数据存储和分析方面表现十分出色:
低故障率
每台机器都会进行数据复制,这一特点也使得Hadoop成为大文件备份的一个好选择。当一个节点复制了一个数据块,那么同一数据集群中的其他节点也会复制。数据备份跨越多个节点,所以数据被永久改变或破坏的可能性非常小,系统的容错性也随之提高了。
成本效益
Hadoop是具成本效益的大数据分析和存储解决方案之一。 根据Cloudera的研究,Hadoop存储数据的成本仅仅是其它大数据存储解决方案很小的一部分。
Cloudera公司产品副总裁Zedlewski Zedlewski认为,目前网络存储的市场行情大约是1TB数据5000美元,在具体情况下可能会有价格的上下浮动。在数据库、数据集市、数据仓库以及相关的硬件领域,通常1TB数据的价格可能要达到10000美元到15000美元。
灵活性
Hadoop是一个非常灵活的解决方案,用户可以使用SQL轻松添加提取结构化和非结构化数据集。这一特点对医疗行业来说特别有价值,因为医疗行业需要不断地更新患者记录。根据Dezyre报告显示:,美国医疗保健行业内大的软件及服务提供商Sage已经在利用Hadoop进行基因组学、癌症治疗以及患者生命监测等相关工作。
可扩展性
Hadoop支持高度可扩展,它可以存储TB级数据,并同时运行数千个数据节点。
利用SQL迎击Hadoop和大数据分析的挑战
Hadoop与SQL兼容,所以适用范围广泛,用户可以使用多种SQL方法来提取和使用Hadoop存储的大数据,如果已经熟练掌握了SQL,那么Hadoop就可能成为最佳的大数据分析解决方案。
但是如果想要从Hadoop中提取数据,那么就需要一个复杂的SQL引擎,目前市面上有很多开源解决方案,Apache Hive就是其中之一。
Apache Hive有三个主要功能:运行数据查询、汇总数据、大数据分析,它可以自动将SQL查询转换为Hadoop MapReduce作业,但是它有一个很大的缺点就是它随着数据集群的大小会有时间延迟的问题。
“Hive本身就不是为OLTP工作负载设计的,所以不提供实时查询或行级更新,它更适合于大量仅附加数据(如Web日志)的批处理作业。”Hive在大数据集项目上的时间延迟十分明显,因此它不适合需要实时分析数据的可扩展项目。
除了Hadoop Hive之外,还有一些其它的SQL引擎:
Rick van der Lans报告表示:上图这些解决方案基本上都能够弥补Apache Hive的不足,它们的特性之一就是多语言持久性,这一特性意味着它们既可以跨数据库访问数据,也可以访问存储在Hadoop上的数据。另外,目前也有很多用于实时大数据分析的应用程序。
InfoWorld报告显示目前Spark、Storm和DataTorrent是Hadoop实时大数据分析领域的三大领先解决方案,目前Hadoop中的流数据实时处理通常会选择Storm或Spark,而DataTorrent是开源自一个之前的商业产品,现在已经加入到了Hadoop战局中。