工业大数据漫谈13:Hadoop在工业大数据中的作用

现在,一谈到大数据的技术,Hadoop都是绕不开的话题,似乎在项目中不使用Hadoop或者类似的分布式数据库技术,就不是大数据应用。那么,到底在工业大数据应用中,没有没必要使用Hadoop,或者在什么样的应用环境中使用Hadoop才是适合的呢?

首先,让我们来看一看Hadoop是什么,它是为解决什么问题而发展起来的。

简单说,Hadoop是一个能够对大量数据进行分布式处理的软件框架。它包含众多的应用,其最核心的是分布式文件系统HDFS(Hadoop Distributed FileSystem)、分布式计算框架MapReduce。2003年Google发表了一篇技术学术论文详细讲解了谷歌文件系统(GFS),2004年Google又发表了一篇技术学术论文讲解了MapReduce。2004年Nutch创始人Doug Cutting基于Google的GFS论文实现了分布式文件存储系统名为NDFS。2005年Doug Cutting又基于MapReduce,在Nutch搜索引擎实现了该功能。2006 年 ,Apache将Map/Reduce 和 Nutch Distributed FileSystem (NDFS) 分别被纳入称为 Hadoop 的项目中。从此,Hadoop作为开源界的分布式大数据处理框架开始迅速流行起来。

Hadoop除了核心HDFS和MapReduce外,还有许多实现具体应用的子项目,其核心组件如下图所示:

工业大数据漫谈13:Hadoop在工业大数据中的作用

Hadoop核心组件

具体每个组件的功能我们改天另文介绍。今天主要谈谈Hadoop的优点和适用领域。Hadoop由于其自身的特点,在以下场景中有比较大的优势:已经为大家精心准备了大数据的系统学习资料,从Linux-Hadoop-spark-......,需要的小伙伴可以点击

1、存储大量的半结构化的数据集。由于HDFS会将一个完整的大文件平均分块存储到不同计算机上,所以一个磁盘的失败并不会带来数据丢失。同时,在读取文件时,系统也是同时从多个主机取不同区块的文件,因此效率要比传统数据库高许多。

2、高效的分布式计算。通过MapReduce,可以快速地跨多台机器处理大型数据集合。实现高效的分布式计算。

3、低廉的部署成本。Hadoop由于其分布式架构,可以使用普通的廉价计算机组合成数据集群来实现以前只有大型高性能计算机实现的工作。

但是,在工业大数据领域,并不是所有场合都需要或者适宜使用Hadoop这样的系统。

工业大数据项目一般有以下几种情况:

一种是针对单一的生产企业内部建设的工业大数据项目,那么,它的数据主要是企业内部的设备产生的监控数据,这些数据虽然相比传统组态等应用量很大了,但是,并达不到需要分布式计算这么大的数据量和计算量。这种情况下,这部分数据可以选择传统的工业实时数据库,或者使用Hadoop的组件Hbase,也可以使用基于Hbase的OpenTSDB,基本就可以满足存储、处理的需要。

另一种是大型集团企业内部的工业大数据项目,由于其监测的设备非常多,产生的数据量巨大,需要的运算量也巨大。那么,可以考虑在集团公司部署Hadoop环境,或者使用公有云的Hadoop服务(比如阿里云百度云、腾讯云等),使用Hbase存储监控数据,同时存储大量的非结构化数据,在数据积累到一定程度时,再进行大数据的分析应用。

还有一种是针对企业销售出去的产品建设的工业大数据项目,例如,某汽车企业将其所有的汽车进行联网监测(特斯拉现在就在做这件事)。这样的项目,尤其是大型企业的产品数量是海量的,其监测数据也是海量的,这种情况在目前比较适合的就是自行建设Hadoop环境。但是远期看,随着公有云技术的逐步成熟,与公有云服务商合作应该会是一种主流。

说白了,小型的项目,不太用得着分布式计算,一般不建议使用Hadoop。当然,小型项目还是不是严格意义上的大数据项目也很难说。中型的项目,建议采用公有云提供的Hadoop环境,也不要自己搭建,成本和收益实在不成比例。大型的项目,当前的实际情况比较适合自行搭建Hadoop环境,远期,除非是中移动、中石油这样的巨无霸企业,还是搭建在公有云上为好。