当前位置: 首页 > news >正文

数据仓库面试题

一、ODS、DWD、DWS、ADS划分与职责

数据仓库中的ODS、DWD、DWS、ADS分别代表以下层次,并各自承担不同的职责:--ODS(Operational Data Store):
名称:贴源层
主要职责:作为数据仓库的第一层,ODS层主要用来接收和存储数据源系统中的数据,同时保证数据的准确性和完整性。ODS层的数据与源系统数据基本保持一致,主要用于简化后续数据加工处理的工作。
数据粒度:细粒度
表类型:通常包括两类,一个用于存储当前需要加载的数据,一个用于存储处理完后的历史数据。--DWD(Data Warehouse Detail):
名称:数据明细层
主要职责:DWD层是数据处理的核心层,其主要任务是对ODS层中的数据进行清洗、加工、集成、聚合等操作,构建出符合业务需求的数据模型。这一层会对数据进行必要的规范化处理,解决数据的重复、缺失、异常等问题,同时对数据进行标准化和统一化处理。
数据处理方法:包括空值处理、验证数据有效性、规范数据格式、统一数据标准、数据转码、业务规则清洗等。DIM(Dimension):
名称:维度层
主要职责:DIM层包含了一个或多个维度表,这些维度表描述了数据仓库中的各个维度。例如,在销售数据仓库中,可能包含时间维度表、产品维度表、客户维度表等。--DWS(Data Warehouse Service):
名称:数据汇总层
主要职责:DWS层是面向业务应用的数据访问层,主要用于提供数据接口和数据服务。它可以提供各种类型的服务,如数据查询、统计、报表、分析等,同时可以通过ETL操作等方式对数据进行加工和处理,为用户提供实时数据服务。
数据处理:包括维度上卷、指标汇总、指标合并等,主要作用是满足共性需求,解决口径不一致、开发任务多等问题,通过宽表化处理提高分析效率。ADS(Analytics Data Store):
名称:数据应用层
主要职责:ADS层主要是为决策分析层提供数据支持,主要用于存储汇总计算结果和预处理的数据。它主要关注数据的可视化和查询性能,同时还需要具备快速响应的能力,为业务决策提供及时支持。
表类型:通常包括各类报表、查询、仪表盘等。

二、事实表有哪些类型?

--1、事务事实表
事务事实表也称原子事实表,描述业务过程,跟踪控件或时间上某点的度量事件,保存的是最原子的数据,适用于跟踪单个业务事件或事务,如订单、交易等。--2、周期事实表
以一个周期为时间间隔来记录事实,通常的周期可以是每天、每周、每月、每年等,它只关注某个业务过程在某个时间点的状态,例如订单收货的状态,数据会按照订单收货的时间来切分。--3、累积快照事实表
用来描述过程开始和结束之间的关键步骤事件,覆盖过程的整个生命周期,适用于那些需要跟踪业务过程从开始到结束所有状态变化的场景,如订单从创建到完成的整个过程

三、数仓中数据模型(数仓中维度与事实之间的模型有那些?)

--1、星型模型
由一个事实表和多个维度表组成,维度表围绕事实表,每个维度表都通过一个或多个键与事实表相连
--2、雪花模型
雪花模型是星型模型的一个扩展,其中维度表可能进一步规范化,形成多个相关的维度表
--3、星座模型
星座模型是多个星型模型或雪花模型的集合,共享某些维度表。

四、 为什么要设计数据分层?

1、方便对表的定位:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解
2、减少重复开发:一些通用的中间层数据,能够减少重复计算
3、统一数据口径:通过数据分层,提供统一的数据出口,统一对外输出的数据口径
4、复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题

五、事实表设计流程

--1、选择业务
通常一个业务过程对应一张事实表
--2、声明粒度
定义每张事实表的每行数据表示什么,并尽可能选择最细粒度,以应对各种细节程度的需求
--3、确定维度
完成粒度声明以后,也就意味着确定了主键,可以确定与每张事实表相关的维度,选择能够清楚描述业务过程的维度信息,如卖家、买家、商品、时间等。
--4、确定事实
事实是与业务过程有关的度量值,事实通常是数值型的度量值,如销售额、订单数量、点击次数等,事实有可加性、半可加性、非可加性三种类型,需要将不可加性事实分解为可加的组件。
--5、冗余维度
通过将部分维度属性退化到事实表中,可以减少下游用户关联多个表的操作,提高查询效率

六、如何判断事实与维度

--事实(Fact)
度量性质:事实通常是数值型的度量值,如销售额、订单数量、点击次数等。这些度量值可以通过数学计算进行汇总和比较。
业务过程:事实通常与特定的业务过程相关联,例如订单处理、购买行为、网站访问等。每个业务过程都可以产生一个或多个事实。
粒度:事实的粒度是指事实表中的一行数据所代表的业务细节层次。例如,在销售事实表中,粒度可以是每条销售记录(详细粒度)或每日的销售总额(汇总粒度)。
可加性:事实通常具有可加性,意味着可以将多个事实值相加以获取更高层次的总计值。例如,可以将多个订单的销售额相加得到总销售额。--维度(Dimension)
描述性质:维度用于描述业务过程中的上下文信息,如时间、地点、产品、客户等。维度通常是非数值型的,用于提供对事实的详细描述和分类。
层次结构:维度通常具有层次结构,例如时间维度可以包含年、季度、月、日等层次。这些层次结构有助于用户从不同的角度分析和理解数据。
属性:维度由多个属性组成,这些属性描述了维度的不同方面。例如,客户维度可能包含客户ID、客户姓名、客户地址、客户类型等属性。
稳定性:与事实相比,维度数据通常更稳定,不会频繁变化。维度的属性通常用于过滤和分组事实数据,以便进行更深入的分析。

相关文章:

数据仓库面试题

一、ODS、DWD、DWS、ADS划分与职责 数据仓库中的ODS、DWD、DWS、ADS分别代表以下层次,并各自承担不同的职责:--ODS(Operational Data Store): 名称:贴源层 主要职责:作为数据仓库的第一层&…...

SQL 创建一个actor表,包含如下列信息

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 创建一个acto…...

STM32+ESP8266连接阿里云

完整工程文件(百度网盘免费下载,提取码:0625)在文章末尾,需要请移步至文章末尾。 目录 宏定义配置 串口通信配置 消息解析及数据发送 ESP8266初始化 注意事项 完整工程文件 经过基础教程使用AT指令连接阿里云后…...

shark云原生-日志体系-ECK

文章目录 0. ECK 介绍1. 部署 CRDS & Opereator2. 部署 Elasticsearch 集群3. 配置存储4. 部署示例 0. ECK 介绍 ECK(Elastic Cloud on Kubernetes)是Elasticsearch官方提供的一种方式,用于在Kubernetes上部署、管理和扩展Elasticsearch…...

第二次作业

一、数据库 1、登陆数据库 2、创建数据库zoo 3、修改数据库zoo字符集为gbk 4、选择当前数据库为zoo 5、查看创建数据库zoo信息 6、删除数据库zoo 一、数据库(步骤) 1、登陆数据库 mysql -hlocalhost -uadmin -p123456 2、创建…...

Java8 新特性stream、forEach常用方法总结

1、去重 List<Long> list new ArrayList<>();list.add(1L);list.add(2L);list.add(3L);list.add(3L);list.stream().distinct().collect(Collectors.toList()); 2、筛选出符合条件的数据 1&#xff09;单条件筛选 筛选出性别为男的学生&#xff1a; List<…...

C语言4 运算符

目录 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 6. 自增和自减运算符 7. 条件运算符&#xff08;三元运算符&#xff09; 8. 逗号运算符 9. sizeof 运算符 10. 取地址和解引用运算符 11.运算符的优先级 1. 算术运算符 (加法)&#xff1…...

【数据分析】Pandas_DataFrame读写详解:案例解析(第24天)

系列文章目录 一、 读写文件数据 二、df查询数据操作 三、df增加列操作 四、df删除行列操作 五、df数据去重操作 六、df数据修改操作 文章目录 系列文章目录前言一、 读写文件数据1.1 读写excel文件1.2 读写csv文件1.3 读写mysql数据库 二、df查询数据操作2.1 查询df子集基本方…...

quill编辑器使用总结

一、vue-quill-editor 与 quill 若使用版本1.0&#xff0c;这两个组件使用哪个都是一样的&#xff0c;无非代码有点偏差&#xff1b;若需要使用表格功能&#xff0c;必须使用 quill2.0 版本&#xff0c;因为 vue-quill-editor 不支持table功能。 二、webpack版本问题 在使用 q…...

快手矩阵管理系统:引领短视频运营新潮流

在短视频行业蓬勃发展的今天&#xff0c;如何高效运营和优化内容创作已成为企业和创作者关注的焦点。快手矩阵管理系统以其强大的核心功能&#xff0c;为短视频内容的创作、发布和管理提供了一站式解决方案。 智能创作&#xff1a;AI自动生成文案 快手矩阵管理系统的智能创作…...

文心一言:探索AI写作的新境界

在人工智能飞速发展的今天&#xff0c;AI写作助手已经成为许多写作者、内容创作者和营销专家的重要工具。"文心一言"作为一个先进的AI写作平台&#xff0c;以其强大的语言理解和生成能力&#xff0c;为用户提供了从文本生成到编辑、优化等一系列服务。本文将介绍如何…...

认证资讯|Bluetooth SIG认证

在当今高度互联的世界中&#xff0c;无线技术的普及已经成为我们生活和工作中不可或缺的一部分。作为领先的无线通信技术之一&#xff0c;Bluetooth技术以其稳定性、便捷性和广泛的应用场景而备受青睐。然而&#xff0c;要想在激烈的市场竞争中脱颖而出&#xff0c;获得Bluetoo…...

我国静止无功发生器(SVG)市场规模逐渐扩大 高压SVG为主流产品

我国静止无功发生器&#xff08;SVG&#xff09;市场规模逐渐扩大 高压SVG为主流产品 静止无功发生器&#xff08;SVG&#xff09;又称为静止同步补偿器、先进静止补偿器、静止调相机等&#xff0c;是利用全控型功率器件组成的桥式变流器来实现动态无功调节的一种先进无功自动补…...

【漏洞复现】用友U8 CRM downloadfile 任意文件读取漏洞

0x01 产品简介 用友U8 CRM客户关系管理系统是一款专业的企业级CRM软件&#xff0c;旨在帮助企业高效管理客户关系、提升销售业绩和提供优质的客户服务。 0x02 漏洞概述 用友 U8 CRM客户关系管理系统 /pub/downloadfile.php接囗处存在任意文件读取漏洞,未经身份验证的远程攻击…...

计算机网络 | 期末复习

物理层&#xff1a; 奈氏准则&#xff1a;带宽&#xff08;w Hz&#xff09;&#xff0c;在不考虑噪音的情况下&#xff0c;最大速率&#xff08;2W&#xff09;码元/秒 信噪比S/N&#xff1a;以分贝&#xff08;dB&#xff09;为度量单位。信噪比&#xff08;dB&#xff09;…...

动手实操微软开源的GraphRAG

微软在今年4月份的时候提出了GraphRAG的概念&#xff0c;然后在上周开源了GraphRAG,Github链接见https://github.com/microsoft/graphrag,截止当前&#xff0c;已有6900Star。 安装教程 官方推荐使用Python3.10-3.12版本&#xff0c;我使用Python3.10版本安装时&#xff0c;在…...

【网络安全】实验七(ISA防火墙的规则设置)

一、实验目的 二、配置环境 打开两台虚拟机&#xff0c;并参照下图&#xff0c;搭建网络拓扑环境&#xff0c;要求两台虚拟机的IP地址要按照图中的标识进行设置&#xff0c;并根据搭建完成情况&#xff0c;勾选对应选项。注&#xff1a;此处的学号本人学号的最后两位数字&…...

实验代码结构介绍

提高模型复用性&#xff0c;让模型对应的配置更加清晰&#xff0c;代码书写条理 学习自https://zhuanlan.zhihu.com/p/409662511 Project ├── checkpoints # 存放模型 ├── data # 定义各种用于训练测试的数据集 ├── eval.py # 测试代码 ├── loss.py # 定义的…...

Java多线程不会?一文解决——

方法一 新建类如MyThread继承Thread类重写run()方法再通过new MyThread类来新建线程通过start方法启动新线程 案例&#xff1a; class MyThread extends Thread {public MyThread(String name) {super(name);}Overridepublic void run() {for(int i0;i<10;i){System.out.…...

Mac上pyenv的安装及使用

Mac上pyenv的安装及使用 安装 brew update brew install pyenv 报错 git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallowgit -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow那就执行这2句 还报错 git -C /…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...

Python实现简单音频数据压缩与解压算法

Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中&#xff0c;压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言&#xff0c;提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...

Spring AOP代理对象生成原理

代理对象生成的关键类是【AnnotationAwareAspectJAutoProxyCreator】&#xff0c;这个类继承了【BeanPostProcessor】是一个后置处理器 在bean对象生命周期中初始化时执行【org.springframework.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization】方法时…...