漫话大数据
概述
大数据主要面临4个问题:存储、计算、查询、挖掘。大数据计算分为两个方向:集中式计算、分布式计算。
Google 发布了大数据的三架马车:MapReduce、GFS(google file system)、BigTable 奠定了大数据的基础。
MapReduce
MapReduce 是一个分布式计算框架
1 | (input) <k1, v1> -> map -> <k2, v2> -> combine -> <k2, v2> -> reduce -> <k3, v3> (output) |
GFS
分布式文件系统
BigTable
基于 GFS 的分布式列式数据存储系统
Hadoop
基于三架马车开发的开源大数据平台。
Hadoop
是批处理平台Spark
是批处理和流式处理的混合平台Storm
、Flink
是流式处理平台
所谓的流式处理可以是微小的批处理或者真正一条条的流式处理。
HDFS
分布式文件系统
HBase
分布式列式数据存储系统
HBase是一种Key/Value系统,它运行在HDFS之上。和Hive不一样,Hbase的能够在它的数据库上实时运行,而不是运行MapReduce任务。
Hive
Hive是一种用类SQL语句来协助读写、管理那些存储在分布式存储系统上大数据集的数据仓库软件。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询–因为它只能够在Haoop上批量的执行Hadoop。
Hive和Hbase是两种基于Hadoop的不同技术–Hive是一种类SQL的引擎,并且运行MapReduce任务,Hbase是一种在Hadoop之上的NoSQL 的Key/vale数据库。当然,这两种工具是可以同时使用的。就像用Google来搜索,用FaceBook进行社交一样,Hive可以用来进行统计查询,HBase可以用来进行实时查询。
参考文章