大数据业务架构
一、数据采集采集层 主要可以使用Flume, Kafka两种技术。 Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展API. Kafka:Kafka是一个可持久化的分布式的消息队列。 Flume和Kafka可以结合起来使用。通常会使用Flume + Kafka的方式。其实如果为了利用Flume已有的写HDFS功能,也可以使用Kaf...

一、数据采集
采集层 主要可以使用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的方式实现。
在离线计算中大部分公司都会涉及到数据仓库的问题,只是我们在做存储分层设计时弱化了数据仓库概念。
四、数据服务
以上步骤已经将数据准备好,数据服务阶段就是去连接各种数据仓库
并编写对外接口,来为应用层提供服务。
应用层只需要调用接口就可以的到数据,从而消费数据。
更多推荐
所有评论(0)