数据开发面试: 项目介绍示例

快照表

快照表(Snapshot Table)是数据仓库中用来存储某一时间点的数据状态的表。这种表通常包含在特定时间点上业务实体的静态数据,它记录了业务在某一特定时刻的“快照”视图。快照表通常用于存储那些不经常变化的数据,或者即使发生变化,变化也不影响历史数据的准确性。

拉链表 

用于记录数据变更历史。它记录一个事物从开始,一直到当前状态的所有变化的信息。拉链表可以避免按每一天存储所有记录造成的海量存储问题,同时也是处理缓慢变化数据的一种常见方式。 拉链表适用于存储变化频繁且数量较少的数据,例如日志记录。

快照表和拉链表的区别

拉链表的特点是只存储变化的部分,而不记录之前的数据。这种方式可以极大地减少存储空间,但是也带来了查询和更新的复杂性。

快照表适用于存储大量数据。快照表的特点是每个版本都是完整的数据,因此可以恢复到任意一个版本

银行信贷管理系统

项目描述: 基于客户信息系统、贷款信息系统、信用评级系统等各方面数据进行收集、整理、建立数据分析模型。建立贷款五级分类、贷款余额、还款总金额、逾期率、逾期指数等指标,以通过数据可视化工具展示出来,为业务部门进行贷款审核、贷款数据分析、还款追踪提供数据支持。

开发流程

  • 数据抽取:使用DataX工具从中转系统(如合同管理系统、客户关系管理系统)中抽取数据到ODS层(贴源层),进行数据备份。

    • 全量抽取:客户基本信息表、合同基本信息表

    • 增量抽取:客户交易记录表、风险预警记录表

  • 数据清洗和转换:在DWD层(Data Warehouse Detail)明细数据层对数据进行清洗和转换,处理脏数据、异常数据和缺失数据。

  • 数据汇总:在DWS层(Data Warehouse Summary)汇总数据层建立客户、产品、营销、交易、合同等主题宽表,进行轻度汇总。

  • 指标计算:在ADS层(Application Data Service)应用数据层计算风险预警、异常行为检测等指标。

数仓分层/数据流向:

  • ODS层:数据备份,不进行修改。

  • DWD层:区分事实表和维度表, 数据清洗和转换,建立客户、产品、营销、交易、合同等主题。

  • DWS层:多维度汇总,建立宽表。

  • ADS层:指标计算和报表展示。

业务系统:

  • 合同管理系统

  • 客户关系管理系统

  • 风险管理系统

主题:

  • 客户主题

  • 产品主题

  • 营销主题

  • 交易主题

  • 合同主题

负责主题: 客户主题

表结构:

  • 快照表:客户信息表

    • 核心字段:客户ID、姓名、地址、联系方式

  • 拉链表:客户行为表

    • 核心字段:客户ID、交易ID、交易时间、交易金额

数据来源:

  • 核心系统表:客户基本信息表

  • 信贷系统表:客户信贷记录表

需要计算的核心指标

  1. 客户风险评分
    • 取数口径:客户的历史交易数据、贷款记录

    • 表来源:客户信息表、客户行为表

    • 字段来源:客户ID、交易金额、贷款金额、还款记录

    • 计算逻辑:基于客户的历史交易金额、贷款金额、还款记录进行加权评分

    • 粒度:按客户ID计算

    • 指标验证逻辑:通过历史数据验证评分的准确性,检查评分与实际违约情况的一致性

  2. 客户信用等级
    • 取数口径:客户的综合评分和风险评分

    • 表来源:客户信息表、客户行为表

    • 字段来源:客户ID、综合评分、风险评分

    • 计算逻辑:根据综合评分和风险评分确定客户的信用等级

    • 粒度:按客户ID计算

    • 指标验证逻辑:对比信用等级与客户的实际违约记录,验证等级划分的准确性

  3. 交易异常率
    • 取数口径:客户的交易记录

    • 表来源:客户行为表

    • 字段来源:交易ID、交易时间、交易金额

    • 计算逻辑:统计一定周期内的异常交易次数占比

    • 粒度:按交易ID计算

    • 指标验证逻辑:对比异常交易标记与实际交易数据,验证异常率的准确性

  4. 合同履约率
    • 取数口径:合同的执行情况

    • 表来源:合同信息表

    • 字段来源:合同ID、合同金额、实际执行金额

    • 计算逻辑:统计合同执行金额占合同总金额的比率

    • 粒度:按合同ID计算

    • 指标验证逻辑:对比合同履行情况与实际记录,验证履约率的准确性

  5. 风险预警次数
    • 取数口径:系统生成的风险预警记录

    • 表来源:风险预警表

    • 字段来源:预警ID、预警时间、预警类型

    • 计算逻辑:统计一定周期内的风险预警次数

    • 粒度:按预警ID计算

    • 指标验证逻辑:对比系统预警记录与实际风险事件,验证预警次数的准确性

银行汽车贷风控系统

项目描述: 基于客户信息系统、贷款信息系统、信用评级系统等数据,建立数据分析模型。通过数据可视化工具展示贷款五级分类、贷款余额、还款总金额、逾期率、逾期指数等指标,为贷款审核、贷款数据分析、还款追踪提供数据支持。实现从 Oracle 传统数据仓库迁移数据到 Hive 大数据数仓的全过程处理,确保数据在新平台上的一致性和完整性

开发流程:

  • 数据抽取:使用Sqoop工具从传统数仓中抽取数据到ODS层(贴源层)。

    • 全量抽取:贷款合同表、客户信息表

    • 增量抽取:还款计划表、违约记录表

  • 数据清洗和转换:在DWD层(明细数据层)处理格式、枚举、脏数据、异常数据,统一数据格式。

  • 数据汇总:在DWS层(汇总数据层)建立贷款、违约、客户行为等宽表。

  • 指标计算:在ADS层(应用数据层)计算贷款风险评级、逾期率等指标。

数仓分层/数据流向:

  • ODS层:数据备份,不进行修改。

  • DWD层:区分事实表和维度表, 数据清洗和转换,建立贷款、违约、客户行为等主题。

  • DWS层:多维度汇总,建立宽表。

  • ADS层:指标计算和报表展示。

业务系统:

  • 信贷管理系统

  • 风险管理系统

主题:

  • 贷款主题

  • 风险主题

负责主题: 贷款主题

表结构:

  • 快照表:贷款信息表

    • 核心字段:合同ID、贷款金额、贷款期限

  • 拉链表:违约记录表

    • 核心字段:合同ID、违约日期、违约金额

数据来源:

  • 信贷系统表:贷款合同表、还款计划表

需要计算的核心指标:

  1. 逾期率

    • 取数口径:贷款合同表、还款计划表中的还款情况

    • 表来源:贷款信息表、违约记录表

    • 字段来源:合同ID、还款日期、应还金额、实际还款金额

    • 计算逻辑:按合同ID统计逾期天数,计算逾期率 = 逾期天数 / 总还款天数

    • 粒度:按合同ID计算

    • 指标验证逻辑:对比实际逾期记录与计算结果,验证逾期率的准确性

  2. 风险集中度

    • 取数口径:贷款合同表、违约记录表中的贷款金额和违约情况

    • 表来源:贷款信息表、违约记录表

    • 字段来源:合同ID、贷款金额、违约金额

    • 计算逻辑:统计各风险等级的贷款金额占比,计算风险集中度 = 各风险等级贷款金额 / 总贷款金额

    • 粒度:按合同ID计算

    • 指标验证逻辑:通过分级统计验证风险集中度计算结果的合理性

  3. 套现占比

    • 取数口径:客户的交易记录和贷款记录

    • 表来源:客户

行为表、贷款信息表

  • 字段来源:客户ID、交易金额、贷款金额

  • 计算逻辑:按客户ID统计疑似套现的交易金额占总交易金额的比率

  • 粒度:按客户ID计算

  • 指标验证逻辑:对比实际套现行为记录与计算结果,验证套现占比的准确性

  1. 诈骗率

    • 取数口径:客户的历史违约记录和贷款记录

    • 表来源:违约记录表、贷款信息表

    • 字段来源:客户ID、违约金额、贷款金额

    • 计算逻辑:按客户ID统计疑似诈骗的违约金额占总贷款金额的比率

    • 粒度:按客户ID计算

    • 指标验证逻辑:对比实际诈骗行为记录与计算结果,验证诈骗率的准确性

  2. 高危风险集中性

    • 取数口径:客户的风险评分和贷款记录

    • 表来源:客户信息表、贷款信息表

    • 字段来源:客户ID、风险评分、贷款金额

    • 计算逻辑:统计高风险客户的贷款金额占比

    • 粒度:按客户ID计算

    • 指标验证逻辑:对比高风险客户的实际贷款记录,验证风险集中性的准确性

 保险精算系统

项目描述: 本项目通过整合公司内部各业务系统的海量数据资源,通过构建统一、高效、智能的数据仓库,提升数据资产价值,赋能业务决策和创新。存储覆盖了客户信息、保险交易记录、理赔数据、市场分析报告等多个数据源,采用大数据技术分析集索赔分析、保险费预测、欺诈侦察、利润比较集等功能为一体,通过从理赔到核赔赔付或拒赔的记录,从时间,地理、客户和产品等角度进行保单类似的分析,进行保单分析,分析保单的类型和风险,比较期间、奖金和风险,进行保单价格分析,分析价格的潜在客户分析,辅助交叉业务人员销售成功,客户特征化用于理解客户,区分企业的关键客户。

  • 数据抽取:使用Kettle工具从业务系统(如保险管理系统、客户管理系统)中抽取数据到ODS层。

    • 全量抽取:保单基本信息表、客户信息表

    • 增量抽取:理赔记录表、保费缴纳记录表

  • 数据清洗和转换:在DWD层处理格式、枚举、脏数据、异常数据,统一数据格式。

  • 数据汇总:在DWS层建立保单、理赔、客户行为等宽表。

  • 指标计算:在ADS层计算保单因子、理赔率等指标。

数仓分层/数据流向:

  • ODS层:数据备份,不进行修改。

  • DWD层:数据清洗和转换,建立保单、理赔、客户行为等主题。

  • DWS层:多维度汇总,建立宽表。

  • ADS层:指标计算和报表展示。

业务系统:

  • 保险管理系统

  • 客户管理系统

主题:

  • 保单主题

  • 理赔主题

负责主题: 保单主题

表结构:

  • 快照表:保单信息表

    • 核心字段:保单ID、客户ID、保单类型、保费金额

  • 拉链表:理赔记录表

    • 核心字段:保单ID、理赔金额、理赔日期

数据来源:

  • 保险系统表:保单基本信息表、理赔记录表

需要计算的核心指标

  1. 保单因子
    • 取数口径:保单基本信息表中的保单属性和客户信息

    • 表来源:保单信息表

    • 字段来源:保单ID、客户ID、保单类型、保费金额

    • 计算逻辑:根据保单属性和客户信息计算保单因子

    • 粒度:按保单ID计算

    • 指标验证逻辑:对比历史保单数据验证保单因子计算的准确性

  2. 理赔率
    • 取数口径:理赔记录表中的理赔金额和保费金额

    • 表来源:理赔记录表

    • 字段来源:保单ID、理赔金额、保费金额

    • 计算逻辑:计算理赔率 = 理赔金额 / 保费金额

    • 粒度:按保单ID计算

    • 指标验证逻辑:对比实际理赔记录与计算结果,验证理赔率的准确性

  3. 客户保单持有量
    • 取数口径:保单信息表中的客户ID和保单ID

    • 表来源:保单信息表

    • 字段来源:客户ID、保单ID

    • 计算逻辑:统计每个客户持有的保单数量

    • 粒度:按客户ID计算

    • 指标验证逻辑:对比客户实际持有保单记录与计算结果,验证持有量的准确性

  4. 年度保费收入
    • 取数口径:保单信息表中的保费金额和生效日期

    • 表来源:保单信息表

    • 字段来源:保单ID、保费金额、生效日期

    • 计算逻辑:按年度统计保费收入

    • 粒度:按年度计算

    • 指标验证逻辑:对比年度财务报表与计算结果,验证保费收入的准确性

  5. 年度理赔支出
    • 取数口径:理赔记录表中的理赔金额和理赔日期

    • 表来源:理赔记录表

    • 字段来源:保单ID、理赔金额、理赔日期

    • 计算逻辑:按年度统计理赔支出

    • 粒度:按年度计算

    • 指标验证逻辑:对比年度财务报表与计算结果,验证理赔支出的准确性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/984707.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++学习之QT综合项目二经典翻金币小游戏及打包

1.项目简介及创建 #include "chooselevelscene.h" #include <QMenuBar> #include <QMenu> #include <QPainter> #include "mypushbutton.h" #include <QTimer> #include <QDebug> #include <QLabel> #include…

前端项目中export和import的作用

之前写过代码&#xff0c;但是那个时候是使用jspdivcss写页面&#xff0c;jquery负责页面数据展示和数据请求。近期在学习前端&#xff0c;发现有export和import&#xff0c;想起了之前没用过&#xff0c;就研究搜索了一下&#xff0c;发现这个是在 ES6中添加的&#xff0c;难怪…

JVM 类加载原理之双亲委派机制(JDK8版本)

对 Java 程序的运行过程而言&#xff0c;类的加载依赖类加载器完成&#xff0c;而在 Java 默认的类加载器又分为启动类加载器、扩展类加载器和应用程序类加载器三种&#xff0c;但是一个类通常仅仅需要被加载一次即可&#xff0c;双亲委派机制即规定各个类该被何种类加载器加载…

【每日学点HarmonyOS Next知识】对话框去掉圆角、数组拼接、自定义对话框依附某个控件、平移动画、页面栈管理

1、 HarmonyOS CustomDialog怎么去掉左右和底部的透明以及圆角&#xff1f; CustomDialog怎么去掉左右和底部的透明以及圆角 设置customStyle为true即可开启使用自定义样式。设置borderRadius为0去掉圆角属性。 属性用法参考文档&#xff1a;https://developer.huawei.com/c…

坐落于杭州的电商代运营公司品融电商

坐落于杭州的电商代运营公司品融电商 在中国电商行业蓬勃发展的浪潮中&#xff0c;品融电商&#xff08;PINKROON&#xff09;作为一家扎根杭州的新锐品牌管理公司&#xff0c;凭借其独特的全域增长方法论和实战经验&#xff0c;迅速崛起为行业标杆。自2020年成立以来&#x…

【python爬虫】酷狗音乐爬取练习

注意&#xff1a;本次爬取的音乐仅有1分钟试听&#xff0c;仅作学习爬虫的原理&#xff0c;完整音乐需要自行下载客户端。 一、 初步分析 登陆酷狗音乐后随机选取一首歌&#xff0c;在请求里发现一段mp3文件&#xff0c;复制网址&#xff0c;确实是我们需要的url。 复制音频的…

Vue3 路由的历史记录 如何不允许浏览器前进后退 在函数中使用路由切换组件 路由的重定向

路由的历史记录模式 第一种push push会保留所有的切换记录&#xff0c;通过操作浏览器的前进后退&#xff0c;可以返回刚才浏览的页面 第二章replace replace不会保留路由的切换记录&#xff0c;不支持浏览器的前进后退 在函数中使用路由切换组件 页面挂载3秒后&#x…

【CSS3】金丹篇

目录 标准流概念元素类型及排列规则块级元素行内元素行内块元素 标准流的特点打破标准流 浮动基本使用清除浮动额外标签法单伪元素法双伪元素法&#xff08;推荐&#xff09;overflow 法 Flex 布局Flex 组成主轴对齐方式侧轴对齐方式修改主轴方向弹性盒子伸缩比弹性盒子换行行对…

解锁DeepSpeek-R1大模型微调:从训练到部署,打造定制化AI会话系统

目录 1. 前言 2.大模型微调概念简述 2.1. 按学习范式分类 2.2. 按参数更新范围分类 2.3. 大模型微调框架简介 3. DeepSpeek R1大模型微调实战 3.1.LLaMA-Factory基础环境安装 3.1大模型下载 3.2. 大模型训练 3.3. 大模型部署 3.4. 微调大模型融合基于SpirngBootVue2…

深入理解string:从模拟实现看本质

文章目录 摘要&#xff1a;一、引言二、string的模拟实现2.1 string类的定义 三、深拷贝和深赋值3.1 深浅拷贝构造函数3.2 深赋值运算符 四、总结五、附录5.1 完整代码6.2 测试用例 六、致谢 摘要&#xff1a; 本文将通过模拟实现一个简单的 String 类&#xff0c;深入探讨字符…

Unity组件TrailRenderer屏幕滑动拖尾

Unity组件TrailRenderer屏幕滑动拖尾 介绍制作总结 介绍 今天要做一个拖动效果&#xff0c;正好用到了TrailRenderer这个组件&#xff0c;正好分享一下 效果参考如下&#xff1a; 制作 1.创建空物体TrailObject添加组件TrailRenderer 下面的材质可以根据自己想要制作的效果去…

laravel中 添加公共/通用 方法/函数

一&#xff0c;现在app 下面创建Common目录&#xff0c;然后在创建Common.php 文件 二&#xff0c;修改composer.json文件 添加这个到autoload 中 "files": ["app/Common/Common.php"]"autoload": {"psr-4": {"App\\": &quo…

C#程序加密与解密Demo程序示例

目录 一、加密程序功能介绍 1、加密用途 2、功能 3、程序说明 4、加密过程 5、授权的注册文件保存方式 二、加密程序使用步骤 1、步骤一 ​编辑2、步骤二 3、步骤三 4、步骤四 三、核心代码说明 1、获取电脑CPU 信息 2、获取硬盘卷标号 3、机器码生成 3、 生成…

批量将 Excel 转换 PDF/Word/CSV以及图片等其它格式

Excel 格式转换是我们工作过程当中非常常见的一个需求&#xff0c;我们通常需要将 Excel 转换为其他各种各样的格式。比如将 Excel 转换为 PDF、比如说将 Excel 转换为 Word、再比如说将 Excel文档转换为图片等等。 这些操作对我们来讲都不难&#xff0c;因为我们通过 Office 都…

【报错】微信小程序预览报错”60001“

1.问题描述 我在微信开发者工具写小程序时&#xff0c;使用http://localhost:8080是可以请求成功的&#xff0c;数据全都可以无报错&#xff0c;但是点击【预览】&#xff0c;用手机扫描二维码浏览时&#xff0c;发现前端图片无返回且报错60001&#xff08;打开开发者模式查看日…

概念|RabbitMQ 消息生命周期 待消费的消息和待应答的消息有什么区别

目录 消息生命周期 一、消息创建与发布阶段 二、消息路由与存储阶段 三、消息存活与过期阶段 四、消息投递与消费阶段 五、消息生命周期终止 关键配置建议 待消费的消息和待应答的消息 一、待消费的消息&#xff08;Unconsumed Messages&#xff09; 二、待应答的消息…

电路原理(电容 集成电路NE555)

电容 1.特性&#xff1a;充放电&#xff0c;隔直流&#xff0c;通交流 2.电容是通过聚集正负电荷来存储电能的 3.电容充放电过程可等效为导通回路 4.多电容并联可以把容量叠加&#xff0c;但是多电容串联就不会&#xff0c;只会叠加电容的耐压值。 6.电容充放电时相当于通路&a…

Manus:成为AI Agent领域的标杆

一、引言 官网&#xff1a;Manus 随着人工智能技术的飞速发展&#xff0c;AI Agent&#xff08;智能体&#xff09;作为人工智能领域的重要分支&#xff0c;正逐渐从概念走向现实&#xff0c;并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中&#xff0c;Manus以其独…

@ComponentScan和@SpringBootApplication的scanBasePackages 同时使用

一、SpringBootApplication(scanBasePackages {"com.xx","com.xxx"}) 从注释里可以看出&#xff0c;SpringBootApplication的scanBasePackages 和ComponentScan 等同。 二、ComponentScan 三、对比 两者作用相同&#xff0c;如果不指定包名&#xff0c;默…

记录排查服务器CPU负载过高

1.top 命令查看cpu占比过高的进程id 这里是 6 2. 查看进程中占用CPU过高的线程 id 这里是9 top -H -p 6 ps -mp 6 -o THREAD,tid,time 使用jstack 工具 产看进程的日志 需要线程id转换成16进制 jstack 6 | grep “0x9” 4.jstack 6 可以看进程的详细日志 查看日志发现是 垃圾回…