大数据基本架构
了解架构能更清晰地认识每个组件,数据处理流程,用作流程设计和技术选型
数据传输层
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