大数据基本架构

了解架构能更清晰地认识每个组件,数据处理流程,用作流程设计和技术选型

 

数据传输层

Flume 专业的日志收集工具,对象一般是 文件类型;

Sqoop 是专门采集结构化数据的,对象一般是 数据库;

Kafka  实际上是一个 MQ,当做缓存,常用于高并发;它既能传输,也能存储,只是存储空间有限,默认 1 G(可配置),且有存储期限,默认 7 天(可配置);

其实还有一些不太常用的工具,如 Logstash、DataX

 

数据存储层

MySQL 关系型数据库,存储结构化数据,还有很多其他关系型数据库;

Mongodb 非关系型数据库;

 

HDFS 分布式 文件系统,非结构化数据,把文件分布式的存储在集群上;

Hive 是基于 hadoop 的数据仓库,存储结构化数据;Hive 也可以用于计算,所以也在计算层

HBase 

S3

其中 HDFS、Hive、HBase 是大数据常用的技术,只是 HBase 用户在减少

 

数据计算层

MapReduce 基础分布式计算框架;

Hive 基于 MapReduce 的计算框架,它把 sql 转换成了 MapReduce;

Spark 基于内存的计算,计算效率高;

Storm 实时计算,只是它的扩展太少,逐渐被淘汰;

Flink 逐渐火起来;

Tez