0
点赞
收藏
分享

微信扫一扫

MATLAB中的cell数组和结构体。

惠特曼 03-20 20:30 阅读 2
大数据

目录

1. 实时数仓与离线数仓

2. 实时数仓需求

3. 架构图

3.1 行为日志处理:

3.2 业务库表处理:

4. 面试题:

🧀你们的实时数仓有分层吗?

🧀那你们的业务数据呢?

🧀那你们的OLAP分析是怎么设计的?

🧀为什么用doris?

🧀Doris数据怎么来的?

🧀你们ADS层的数据是放在哪的?

🧀你们ODS到DWD层做了哪些事啊?


1. 实时数仓与离线数仓

  • 数仓:数据的仓库

  • 实时数仓:数据实时入仓,对数据做统计分析也是实时响应的

  • 离线数仓:数据不是实时入仓,仅对历史数据做统计分析

2. 实时数仓需求

  • 实时大屏看板: 公司核心指标,如订单数、订单额、访问量,活动参与人数、参与次数……

  • c端实时数据展示:热门榜单,比如热门话题,热门路线,热门教程,热门商品,热门品类,热门品牌

  • 实时特征数据加工:为广告引擎和推荐引擎,提供实时的样本数据

  • 实时olap支撑:实时接入各类数据,做轻度聚合,入库到doris,提供给分析师去做实时联机分析

3. 架构图

ODS

Operational Data Store

操作数据层

该层的主要功能是存储从源系统直接获得的增量或者全量数据。该数据有可能以文件形式存在,也有可能以数据库形式存在,也有可能两种形态都存在

ODS->DWD

数据完成清洗、过滤、字段的规范化(字段格式统一、字段类型统一、一些空值的统一)、维度提前的关联(退维)

DWD

Data Warehouse Detail

明细数据层

该层的主要功能是基于业务主题域的划分,面向业务过程、以数据为驱动设计模型,并且基于维度建模理论进行建模,完成数据整合,为数据的应用提供统一的基础细节数据。实现企业级数据模型的落地。

DWS

Data Warehouse

Summary

汇总数据层

该层的主要功能是以分析需求为驱动进行数据模型设计,实现跨业务主题域数据的关联计算或者轻度汇总计算,从而支持上层的统计分析需求。

在该层实现指标的统一计算口径,实现了指标的一次计算多次复用的多维数据模型;实现了核心业务实体的基础特征库,为深入的业务分析提供数据支持。

ADS

Application Data Services

应用层

用于提供面向应用程序的数据访问和服务

3.1 行为日志处理:

  • c端实时数据展示和实时大屏看板:从flume采集过来的数据进行加工退维,继续将其写入kafka(因为后续还需要做流式计算),此时便可以对数据根据具体业务需求进行计算,将算好的结果放入mysql中。

  • 实时olap支撑: 从DWD层读数据,做中间聚合,将结果写入doris,然后OLAP分析工具平台连接doris即可进行分析。

  • 实时特征数据加工:数据从kafka经过清洗、处理加工一下, 继续写到kafka,算法引擎组或广告推荐组会继续去拉取这个数据。其不属于数仓的任何一层

3.2 业务库表处理:

业务表数据用flink-cdc一边读一边计算,直接将结果输出到mysql中

4. 面试题:

🧀你们的实时数仓有分层吗?

有的,我们的主要分层架构分为ODS、DWD、ADS层。

对于一些日志文件,我们一般会从flume中将数据采集过来落入ODS层,经过清洗、过滤、字段的规范化、退维等操作,将操作后的数据落入DWD层,最后再根据具体业务需求,将数据进行一些聚合分析等处理,让它落入ADS层。

🧀那你们的业务数据呢?

对于业务数据,我们用cdc接入直接就计算了,如果要做OLAP分析的话,就会把数据落入到doris一份。

🧀那你们的OLAP分析是怎么设计的?

我们会用Doris作为OLAP分析的底层基础设施

🧀为什么用doris?

  • Doris可以存储很多的数据量

  • 查询很快

  • 可以接受数据的实时入库

🧀Doris数据怎么来的?

我们会用flink从数据源读取数据,先做一个轻量聚合,再写入doris.

🧀你们ADS层的数据是放在哪的?

这要看数据给谁用。如果是C端数据展示和实时大屏看板,数据都是放在mysql里面的。

🧀你们ODS到DWD层做了哪些事啊?

清洗、过滤,数据格式的规范化、退维

 

 

举报

相关推荐

0 条评论