大数据业务架构

大数据业务架构_第1张图片

 

一、数据采集

采集层 主要可以使用Flume, Kafka两种技术。

 Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展API.

 Kafka:Kafka是一个可持久化的分布式的消息队列。

 Flume和Kafka可以结合起来使用。通常会使用Flume + Kafka的方式。

其实如果为了利用Flume已有的写HDFS功能,也可以使用Kafka + Flume的方式。

二、数据缓存重用

为了避免大量数据流(400+亿条/天)写入HDFS,导致HDFS客户端不稳定现象及数据实时性考虑,

把经过数据实时清洗后的数据重新写入Kafka并保留一定周期,

离线计算(批处理)将数据拉到HDFS(通过作业调度系统配置相应的作业计划),

实时计算基于Storm直接从Kafka消费,有很完美的解决方案storm-kafka组件。

 

三、离线计算(批处理)

通过spark,spark SQL实现,整体性能比hive提高5—10倍,hive脚本都在转换为Spark/Spark SQL;

部分复杂的作业还是通过Hive/Spark的方式实现。

在离线计算中大部分公司都会涉及到数据仓库的问题,只是我们在做存储分层设计时弱化了数据仓库概念。

 

四、数据服务

以上步骤已经将数据准备好,数据服务阶段就是去连接各种数据仓库

并编写对外接口,来为应用层提供服务。

应用层只需要调用接口就可以的到数据,从而消费数据。

你可能感兴趣的:(大数据)