发布于 

漫话大数据

概述

大数据主要面临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 是批处理和流式处理的混合平台
StormFlink 是流式处理平台

所谓的流式处理可以是微小的批处理或者真正一条条的流式处理。

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可以用来进行实时查询。

参考文章

  1. 大数据(Big Data)扫盲
  2. 如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系?
  3. MapReduce Tutorial
  4. MapReduce工作流程最详细解释