维度建模-常用名词术语


数据仓库是一个体系庞大的领域,拥有许多专业名词术语。这里系统性地梳理和解释最核心、最常用的术语。

Lambda架构概述


什么是 Lambda 架构? Lambda 架构是一种用于设计和实现大规模数据计算系统的架构模式,其核心目标是平衡延迟、吞吐量和容错性,以应对海量数据的实时查询和分析需求。 它诞生的背景是传统批处理系统(如 Hadoop、Hive)无法满足低延迟查询场景,而纯流处理系统又难以保证数据准确性和历史数据

Kappa架构概述


Kappa 架构是作为对经典的 Lambda 架构 的反思和简化而提出的。它的核心思想是:用一个统一的流处理系统来处理所有数据,无论是实时数据还是历史数据,从而消除 Lambda 架构中复杂的“批处理层”和“服务层”的双重维护。 1. Kappa 架构诞生的背景:Lambda 架构的挑战 要理解 K

数据血缘构建方案


在数据平台中,血缘(Data Lineage) 是指对数据从源头到最终消费全过程的追踪与记录。它描述了数据的“产生、处理和使用”路径,包括数据是如何被采集、转换、集成、存储以及最终被报表、分析或机器学习模型所使用的。 一、什么是数据血缘? 数据血缘可以理解为数据的家族谱系图,它回答以下关键问题:

部门人员数据分析

MST 

一、题目 现有一张员工在职所在部门信息表t_dep_his,包含员工ID、所属部门、开始日期、结束日期,请查询出如下内容 2024年1月31日A部门在职员工数; 2024年1月份A部门员工最多时有多少员工; 2024年1月份A部门平均有多少员工;

查询前2大和前2小用户并有序拼接

MST 

一、题目 有用户账户表:包含年份,用户id和余额。请按照年份分组,取出余额前两小和前两大对应的用户id。**注意:**需要保持余额最小和最大的用户id排首位。 二、思路 1、计算每年 每个用户余额的升序排名和降序排名。升序排名前两名就是余额前两小的用户,降序排名前两名就是前两大的用户。可以使用row

有序行转列

MST 

一、题目 有学生各学科分数表,记录了学生的各科分数,请按照学生粒度,生成两列数据分别为学科和分数,要求学科内的顺序与分数顺序一致。 数据样例: 二、思路 这是一个行转列的典型问题,目标是将张三的三条记录合并为一条。根据题意最终的数据是这个样子:张三 语文,数学,英语 95,80,82。 要处理这

查询每个学科第三名的学生的学科成绩总成绩及总排名

MST 

一、题目 有学生成绩表,包含学生姓名、学科、成绩三个字段,请用一条SQL查询出每个学科排名第三名的学生,他的学科成绩、总成绩、以及总排名。 二、思路 第一步:计算学科排名和总成绩,可以使用rank和sum的开窗函数实现 第二步:计算总成绩排名,可以使用dense_rank实现

每年成绩都有所提升的学生

MST 

一、题目 一张学生成绩表(student_scores),有year-学年,subject-课程,student-学生,score-分数这四个字段,请完成如下问题: 问题1:每年每门学科排名第一的学生 问题2:每年总成绩都有所提升的学生 数据如下 二、思路 问题1:每年每门学科排名第一的学生。这个问

连续点击三次以上的用户

MST 

一、题目 有用户点击日志记录表 user_click_log,包含user_id(用户ID), click_time(点击时间),请查询出连续点击三次以上的用户数, 连续点击三次:指点击记录中同一用户连续点击,中间无其他用户点击; 二、思路 看下图总结一下规律:如果一个用户连续点击中间没有其他用户,