数据仓库面试题
一、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)单条件筛选 筛选出性别为男的学生: List<…...
C语言4 运算符
目录 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 6. 自增和自减运算符 7. 条件运算符(三元运算符) 8. 逗号运算符 9. sizeof 运算符 10. 取地址和解引用运算符 11.运算符的优先级 1. 算术运算符 (加法)࿱…...

【数据分析】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,这两个组件使用哪个都是一样的,无非代码有点偏差;若需要使用表格功能,必须使用 quill2.0 版本,因为 vue-quill-editor 不支持table功能。 二、webpack版本问题 在使用 q…...

快手矩阵管理系统:引领短视频运营新潮流
在短视频行业蓬勃发展的今天,如何高效运营和优化内容创作已成为企业和创作者关注的焦点。快手矩阵管理系统以其强大的核心功能,为短视频内容的创作、发布和管理提供了一站式解决方案。 智能创作:AI自动生成文案 快手矩阵管理系统的智能创作…...
文心一言:探索AI写作的新境界
在人工智能飞速发展的今天,AI写作助手已经成为许多写作者、内容创作者和营销专家的重要工具。"文心一言"作为一个先进的AI写作平台,以其强大的语言理解和生成能力,为用户提供了从文本生成到编辑、优化等一系列服务。本文将介绍如何…...

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

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

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

计算机网络 | 期末复习
物理层: 奈氏准则:带宽(w Hz),在不考虑噪音的情况下,最大速率(2W)码元/秒 信噪比S/N:以分贝(dB)为度量单位。信噪比(dB)…...

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

【网络安全】实验七(ISA防火墙的规则设置)
一、实验目的 二、配置环境 打开两台虚拟机,并参照下图,搭建网络拓扑环境,要求两台虚拟机的IP地址要按照图中的标识进行设置,并根据搭建完成情况,勾选对应选项。注:此处的学号本人学号的最后两位数字&…...

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

Java多线程不会?一文解决——
方法一 新建类如MyThread继承Thread类重写run()方法再通过new MyThread类来新建线程通过start方法启动新线程 案例: 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 /…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...