前言:
今天我们对“flume采集日志到本地”大致比较关切,兄弟们都需要剖析一些“flume采集日志到本地”的相关文章。那么小编在网络上网罗了一些关于“flume采集日志到本地””的相关知识,希望朋友们能喜欢,小伙伴们快快来了解一下吧!千亿级数仓项目,这里我来介绍一下整体架构,
大概会有900
字左右。阅读,五分钟。
我理解的数仓项目的架构设计
我会从数据的流向来梳理整个架构.
离线数仓:(对产生的数据进行处理,一般处理T+1数据.)
订单数据保存在mysql数据库中,通过kettle进行ETL
(进行数据的抽取,基本的预处理 转换装载到HDFS中)
这里用到hive数据仓库工具,hive 数据保证在hdfs中,运用hsql对数据进行操作,
底层进行mapreduce.
对数仓进行分层.
ods 层 预处理后的数据
dw 层 对数据进行拉宽 确定事实表 维度表 这里用到一个星型模型
dm 层 数据集市层 根据部门需求 可以不同的指标计算
ADS 层 指标数据 供BI工具进行调用.
以后可以通过存储到hsql,web前段连接数据库进行展示.
为应对不同需求,指标会频繁发生变更,但确不能及时迅速的调取数据ods指标数据.引入了一款kylin组件.
kylin 只需要调用hive 中dw层,指定事实表,指定维度.生成模块,在生成cube. 现在支持mapreduce 和spark 引擎.
kylin 可以 根据事实表 维度 生成不同维度的数据.而且支持类sql 查询. 前段可以直接连接,前段工程师可以通过写简单的sql得到想要的指标.
实时数仓:(数据流时刻都在产生,要求数据产生后就能到想要的指标数据,可以得到毫秒级)
数据源1.Nginx服务器采集用户的点击流日志保存到本地文件,使用Flume对日志采集, 数据源2Canal通过读写binlog日志读取mysql的数据.
两类数据连接到kafka中,(kafka消息队列起到消峰限流的作用)
在kafka中,建两个topic 数据源1 topic_click_log 据源2 topic_canal
通过flinkkafkaconsumer011 整合kafka消费数据
Flink 流处理系统 计算访问指标 实时ETL 订单的明细数据拉宽 这里redis存储指标数据 实时ETL 处理后的数据推回到kafka 中 这里即为topic_dws
这里用到专用大数据存储数据工具 hbase
支持rowkey字段查询. 为了解决这个问题,这里用到phonenix 这是一款sql执行引擎 通过建立关联视图 实现了二级索引.
同样为了解决需求指标变更频繁的问题,这里用到一个新的Druid框架
可以对接kafaka 中 topic_dws 提供sql引擎进行数据分析.
最后可视化工具 这里用到的是superset
对接kylin 对接 redis 对接 druid
这样就完成了整个数仓项目的搭建.
最后放上一张直观的图片。供喜欢大数据的知识的同学进行学习。
标签: #flume采集日志到本地