基于Hadoop的离线数据存储和挖掘架构详解

2018-2-9 14:53| 发布者: admin| 查看: 86| 评论: 0

摘要: 近两年来,大数据发展浪潮席卷全球,海量数据不断涌现,我们已经切实迎来了大数据时代,Hadoop在可伸缩性、健壮性、计算性能和成本上具有无可替代的优势 ... ...

  近两年来,大数据发展浪潮席卷全球,海量数据不断涌现,我们已经切实迎来了大数据时代,Hadoop在可伸缩性、健壮性、计算性能和成本上具有无可替代的优势,事实上已成为当前互联网企业主流的大数据分析平台。以下是对基于Hadoop的离线数据存储和挖掘架构详细介绍。



  一、数据存储层


  功能:数据收集、处理、存储、装载


  包含:数据集成、ETL、数据仓库


  工具:Sqoop、Flume、Kettle、Hive。


  1. Sqoop:数据收集工具,用于把相关数据导入Hadoop集群中。


  2. Flume:分布式日志收集工具,适用于网站、服务器等日志文件的收集。


  3. Kettle:一种开源免费的ETL工具。还有很多收费的ETL工具。在中国这都免费。


  4. Hive:基于Hadoop集群架构下的数据仓库的建立工具。主要是为了,类SQL与SQL之间的转换。


  二、集群架构层


  功能:离线数据分析系统


  核心:大数据存储和集群系统:Hive0.12.0 & Hadoop2.2.0 & HBase0.96.1


  1. Hadoop:开源集群分布式架构平台。2.2.0为最新版本。


  2. HBase:面向列的分布式数据库,适合构建低并发延时性数据服务系统。


  3. HDFS:分布式文件系统,是海量数据存储的标准。


  集群架构层是集群平台的核心,我们常说的搭建hadoop平台,一般指的就是Hive+Hadoop+HBase。


  三、分布式计算引擎层


  功能:针对密集型数据计算


  核心:Yarn、MapReduce


  1. Yarn:分布式资源管理框架,也可以理解为管理类MapReduce这种分布式处理平台的框架。


  2. Map/Reduce:基于密集型离线数据分析框架。这区别于现在很火的基于内存数据处理的Spark架构。


  这里是数据处理的过程,能够对大量数据进行分布式处理,这里数据还是一行行的读取,你要做的工作就是去写MapReduce函数,这个是根据数据的类型,业务需求,去写相应的函数。


  四、算法合成层


  功能:集成数据挖掘算法


  核心:HiveQL、R语言、Mahout


  1. HiveQL:有利于传统数据库操作员到NoSql数据库操作之间的转型。


  2. R语言:主要用与统计分析、绘图的语言等。提供了一套完整的数据处理、计算和制图软件系统,也为数据可视化提供了前提。


  3. Mahout:主要是集成机器学习等相关经典算法的实现。可以更有效的提供挖掘数据背后隐藏的规律。


  算法合成层是数据挖掘的核心。通过经典或优化过的算法可以在海量的数据中挖掘出有用价值信息。


  五、数据可视化层


  通过Hadoop集群,业务梳理后的数据再写回HDFS中时,数据有些已经是有规律的数据了,有些数据是提取出来制作报表、饼图或柱状图等,有些数据需要进行下一步的操作,即把HDFS或Hive数据仓库中的数据导入传统关系型数据库,用传统可视化工具进行展示。


  Hadoop 是一个用于开发分布式应用程序的多功能框架,是大数据分析的一个重要工具,而且正在变得越来越强大,从使用它的应用程序看,它的前途是光明的。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论(0)

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.