目录
(一)通用框架概述
自底向上,与OSI类似,通用框架下的大数据体系有七层:数据源、数据收集层、数据存储层、资源管理与服务协调层、计算引擎层、数据分析层及数据可视化层。图示如下:
(二)数据收集层
数据收集层直接与数据源对接,负责采集产品使用过程中生成的日志,具有分布式、通用化等属性。由于实际场景中,大部分的数据源是零散的,因此采集到一起的难度较大,因而在设计上应该具备如下几个特点:
扩展性:能够配置多种不同的数据源,并且在遇到洪峰时不会成为系统瓶颈;
可靠性:数据在传输的过程中不能丢失(金融类数据尤其如此);
安全性:对于敏感数据,传输的过程要进行加密(密码、金钱等);
低延迟:由于数据源采集的日志通常规模庞大,因此应尽快的收集到存储系统中,不能产生积压。
在以Hadoop/Spark为代表的开源框架下,数据收集层通常有如下几种方案选择:
Sqoop:对于关系型数据库的全量导入比较通用;
Canal:对于关系型数据库的增量导入比较通用;
Flume:对于非关系型日志采集比较通用,例如文本日志等;
Kafka:分布式消息队列,类似于数据通道的概念,具有分布式高容错的特点。