(AI总结版)银行大数据开发新人入职指南:从迷茫到上手
《银行大数据开发新人避坑指南:从ODS到监管报送的认知地图》
本文用最直白的语言,帮你快速建立银行数仓开发的整体认知框架。
【核心四层结构】 银行离线数仓就像精加工流水线:
1️⃣ ODS层:原始数据停车场(配置化同步)
2️⃣ DWD层:你的主战场(写SQL清洗关联)
3️⃣ DWS层:主题汇总区(轻量聚合)
4️⃣ ADS层:报表直供站(最终结果表)
【每日工作流】 典型T+1节奏:
▸ 晨会检查昨日任务状态
▸ 开发新表从ODS取数(注意dt=${biz_date})
▸ 重点处理数据一致性(客户信息仲裁)
▸ 下午配置调度依赖
【三大生存技能】
- ODS异常处理:不是你的错但要立即拦截
- 监管报送认知:1104/EAST/一表通的区别
- 分区设计哲学:按天分区是基础,客户号分桶是进阶
【新人必备冷知识】
✓ 数仓≠备份系统
✓ 同一个Hive集群可能承载多个逻辑数仓
✓ 省联社模式下模型可能已固化
✓ 未来趋势是湖仓一体(Iceberg/Hudi)
给跨行新人的建议:
先掌握业务术语(如"五级分类"),再精进SQL优化。
记住,在银行数据领域,准确性永远比炫技更重要。
就以上问答,总结一篇适合分享的博客,主要内容是银行大数据开发新人入职岗前培训
我们需要总结一篇博客,内容基于之前的问答,面向银行大数据开发新人入职岗前培训。之前的对话涵盖:从Web前端转行大数据,入职农商行做离线数仓,ODS、DWD、DWS、ADS分层,数仓逻辑划分,ODS导入配置化,DWD手写SQL,ODS出错处理,实时与离线,监管报送(1104、EAST、一表通),省联社模式,湖仓一体,分区分桶等。需要整合成一篇有逻辑、实用的博客。
要求:适合分享,语气友好,针对新人,内容全面但不过于冗长。标题建议:《银行大数据开发新人入职指南:从迷茫到上手》。结构可以按:前言、数仓基础概念(分层、逻辑划分)、核心工作流程(ODS到DWD等)、常见问题应对(ODS出错、备份误解、实时vs离线)、监管报送简介、技术进阶(分区、分桶、湖仓一体)、团队协作与心态建议。注意避免太技术细节,但要专业。
最终输出中文博客。
银行大数据开发新人入职指南:从迷茫到上手
这是一篇写给即将入职银行大数据岗位新人的“岗前必修课”,基于真实问答整理,希望能帮你少走弯路,快速融入团队。
写在前面
如果你和我一样,并非科班出身,靠自学和培训走进了大数据领域,即将入职一家银行(特别是农商行)做离线数仓开发,那么这篇文章就是为你准备的。
入职前,我也有过无数困惑:ODS、DWD、DWS、ADS到底怎么分工?每天到底要做什么?ODS出错了怎么办?实时数仓和离线数仓是什么关系?1104报送、EAST、一表通又是什么?为什么按天分区?什么时候需要分桶?
经过反复请教和梳理,我把这些问题和答案整理出来,希望能帮你提前建立一张“认知地图”。
一、数仓分层:你的工作地图
银行离线数仓通常分为四层,你的核心工作就是在这四层之间写Hive SQL:
| 层级 | 全称 | 作用 | 你做什么 |
|---|---|---|---|
| ODS | 贴源层 | 原始数据“临时停车场”,直接同步各业务系统 | 基本不用写,平台组配置化导入,你直接读 |
| DWD | 明细层 | 清洗、去重、格式统一、多源合并(如客户信息仲裁) | 主要工作:写SQL,把ODS变干净 |
| DWS | 汇总层 | 按主题轻量聚合(如按日/客户统计资产) | 写聚合SQL |
| ADS | 应用层 | 直接给报表或接口的最终结果表 | 按需求拼装 |
记住:ODS是分源存储(ods_core_customer、ods_credit_customer),DWD是业务主题整合(dwd_customer),名字不再体现来源。
二、每天到底做什么?(T+1离线模式)
银行离线数仓是典型的 T+1:今天凌晨跑昨天的数据,写入昨天的分区。
一个典型的工作日:
-
早上到岗:打开调度平台,检查自己的DWD/DWS任务是否成功。如果失败,看报错日志——是ODS数据没来?还是自己SQL写错了?
-
白天:开发新表。通常从ODS取数(
SELECT ... FROM ods_xxx WHERE dt = '${biz_date}'),经过清洗、关联、去重,写入DWD对应分区(INSERT OVERWRITE TABLE dwd_xxx PARTITION(dt='${biz_date}'))。 -
下午:测试、核对数据量,提交代码,配置第二天的调度依赖。
你不会一个人写完所有导入脚本:ODS导入是配置化的,由平台组负责。你只需要在DWD层写业务逻辑,而且通常有现成的SQL模板可参考。
三、ODS出错了怎么办?——不是你背锅,但你要守门
ODS同步通常在凌晨运行,如果失败,监控告警会发给平台组和你的组长,不需要你去通知别人。
但你的职责是:防止错误数据流向下游。
当你发现依赖的ODS分区数据异常(比如行数为0、突然少一半)时:
-
立即暂停自己的下游任务(在调度平台操作)。
-
在群里通报:说明现象、影响范围、已做的止损。
-
等待平台组修复ODS,然后手动重跑你的任务。
记住:ODS出错不是你的错,但让错误数据跑到报表里就是你的责任。
四、数仓是逻辑划分,不是物理切分
银行只有一个或几个大数据集群,所谓“多个数仓”只是逻辑上的库名或表名前缀。
例如:
-
ods_core_customer(核心系统客户表) -
ods_credit_customer(信贷系统客户表) -
dwd_customer(整合后的客户主数据)
所有表都在同一个Hive集群里,共享计算存储资源。理解这一点,你就不会被各种命名吓倒。
五、常见误区澄清
误区1:数仓是备份系统?
不是。 备份是运维团队的事(磁带库、灾备中心)。数仓保留历史数据是为了分析需求和重跑历史数据(当加工逻辑改变时)。ODS保留时间长,是因为源系统可能已经删了旧数据,但分析还要用。
误区2:所有ODS同步都在晚上?
不完全是。 银行是混合调度:
-
T+1批量:核心、信贷等业务系统,凌晨同步。
-
小时级/准实时:渠道日志、ATM流水,白天也同步。
-
实时CDC:客户信息、账户余额等,7x24小时持续同步。
你的离线数仓任务通常依赖T+1表,小时级表可能要处理多个分区。
误区3:实时数仓和离线数仓是同一个?
通常是独立系统(物理或逻辑隔离)。 离线数仓用Hive/Spark,实时数仓用Flink/Kafka/ClickHouse。你的工作范围是离线部分。
六、监管报送:1104、EAST、一表通
你可能经常听到这些名词,它们是银行必须向监管机构报送的数据系统。
| 报送系统 | 数据来源 | 时效 | 你的关联 |
|---|---|---|---|
| 1104 | 离线数仓(DWS/ADS) | T+1 | 你加工的汇总表直接服务1104 |
| EAST | 离线数仓(ODS/DWD) | T+1 | 你加工的明细表用于EAST |
| 一表通 | 业务系统实时同步(独立链路) | 秒级/分钟级 | 你的数仓作为对账基准,不负责实时链路 |
关键认知:你不是在开发1104系统本身,而是在建设监管数据集市(ADS层)。1104报表从这个集市取数。如果你们行使用省联社统一平台,数据模型和口径可能由省联社定义,你需要做的是保证本行源数据准确。
七、分区分桶:调优基础
分区(Partition)
银行数仓按天分区是最常见的方式,因为大部分查询和分析都是按时间范围。
sql
PARTITIONED BY (dt STRING) -- dt = '20260610'
分区可以快速裁剪数据,避免全表扫描。
分桶(Bucket)
当分区内数据依然很大(比如每天几亿行),并且经常按某个字段(如客户号)做关联或聚合时,可以对该字段进行分桶。
sql
CLUSTERED BY (cust_id) INTO 256 BUCKETS
分桶能让相同哈希值的记录落到同一个桶文件内,大大加速JOIN和GROUP BY,减少Shuffle。
简单规则:
-
先按时间分区。
-
再按高基数字段(客户号、账号)分桶。
-
桶数建议2的幂次,单桶文件大小控制在128-256MB。
八、湖仓一体是什么?
湖仓一体 = 数据湖的存储(低成本、存一切)+ 数据仓库的管理能力(事务、索引、高效更新)。
核心技术:Iceberg、Hudi、Delta Lake。
相比传统Hive,湖仓一体支持:
-
MERGE/UPDATE/DELETE(行级更新) -
增量读取(只处理变更数据)
-
时间旅行(查询历史快照)
未来你的数仓很可能向这个方向演进,可以提前了解。
九、入职前三天该做的事
-
要文档:数据仓库模型规范、Hive SQL开发手册、数据字典。
-
问组长:
-
“我们用的是传统Hive还是Iceberg/Hudi?”
-
“ODS表的分区是几点就绪?我的任务应该几点开始?”
-
“有没有现成的SQL模板可以参考?”
-
-
跑通一个最小流程:选一张简单的表(如交易流水),从ODS -> DWD 写一个最简单的清洗SQL,确认调度能跑通。
十、最后的心态建议
-
不要害怕“外包”身份:银行数仓项目周期长、稳定优先,只要你靠谱,正式员工会很依赖你。
-
不要试图一个人扛所有:分工很细,你只需要负责分配给你的几张表。
-
数据质量是生命线:银行一分钱对不上都是大事,多写一句
COUNT(*)校验,多问一句“这个口径确认了吗”。 -
带着业务思维写SQL:理解“贷款五级分类”、“拨备覆盖率”这些术语,你和业务方沟通会更顺畅。
大数据开发是一条需要持续学习的路,但你从Web前端跨界而来,已经有了很强的逻辑迁移能力。相信你很快就能在银行数仓领域找到自己的节奏。
祝入职顺利,欢迎踏入数据的世界。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)