龙空技术网

我理解的数仓项目

小儿的反击 105

前言:

今天我们对“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采集日志到本地