数据仓库ETL

小白的数据仓库学习笔记 2024/5/20 18:25

文章目录

ETL

数据抽取、转换、加载

dim

打开

创建项目(选这个,这个是做etl的)

把元数据etl到数据仓库里面

建立元数据的连接

同样的,建立与数据仓库的连接

新建ssis包

分成两个脚本,一个维度、一个事实

这里做的是dim维度的,应该再dim.disx里面做,我这里选错窗口了

序列容器

如果不创建,整个页面就是容器,一次只能做一个

全量etl

把整张表的数据一下子整过去

  1. 删除数据(避免重复)
  2. etl

增量etl

一天一天的,没过一天抽一次,每天多一点

建立sql任务

双击打开,设置连接、内容

双击数据流任务

OLE DB源、数据转换、OLE DB目标

确定数据源,清洗转换

这里易错,sql命令写的是从数据源查询过来的

成功

再做两个

同样的,再做两个全量

两个表列的数据类型不一致

然后修改列的数据类型并保存

先全量,后增量

为什么先全量,后增量?

在你数据分析之前,已经产生了大量的数据

fact

sql任务

左侧分支做全量

双击线

等于0的时候走左侧

把CreateDate转成varcher类型,再转成int类型

sql 复制代码
select 
[FrameNo]
 ,[SaleShop]
 ,datekey
 ,[SalePrice]
 ,[FactoryPrice]
 ,[SaleType]
from(
SELECT [FrameNo]
 ,[SaleShop]
 ,convert(int,convert(varchar,[CreateDate],112)) datekey 
 ,[SalePrice]
 ,[FactoryPrice]
 ,[SaleType]
  FROM [jtxy_source].[dbo].[tbl_EXE_SaleCar])a
  where a.datekey<=20110814;

数据转换、连接、映射

这里SaleType是中文,要转一下

右侧做增量

双击线

数据转换和目标和左侧一致

运行测试

第一次

第二次

做另外一个

同样的

创建序列容器,和上面的基本一致

这个就可以,因为datekey再order by时已经存在

sql 复制代码
 SELECT 
distinct(convert(int,convert(varchar,[SubmitTime],112))) datekey

  FROM [jtxy_source].[dbo].[tbl_EXE_TargetData] order by datekey

这个就不对,因为执行where时datakey还不存在,所以报错

SELECT TargetValue

,TargetRange

,TargetData

,convert(int,convert(varchar,SubmitTime,112)) datekey

,TargetFor

,TargetShop

FROM jtxy_source.dbo.tbl_EXE_TargetData

where datekey<=20110809

​ OLE DB源

sql 复制代码
select
[TargetValue]
,[TargetRange]
,TargetData
,datekey
,[TargetFor]
,[TargetShop]
from

(SELECT [TargetValue]
,[TargetRange]
,TargetData
,convert(int,convert(varchar,[SubmitTime],112)) datekey
,[TargetFor]
,[TargetShop]
  FROM [jtxy_source].[dbo].[tbl_EXE_TargetData])a
  where a.datekey<=20110809

因为没有中文,这里就不需要转了

直接到目标

右侧增量

运行测试

第一次

第二次

相关推荐
RestCloud15 分钟前
飞书多维表格落地新思路:ETL做数据导入,豆包做业务智能分析
数据仓库·飞书·etl·数据传输·api对接·豆包
一米阳光86611 小时前
软考高级【信息系统项目管理师】高项重要考点(3)高级项目管理-下 助你顺利上岸!
笔记·职场发展·软考·信息系统项目管理师·高级职称
微功夫信息技术1 小时前
分层多智能体强化学习驱动的非急救转运公平 - 效率统一调度系统研究与实践
人工智能·学习·算法·动态规划
dianziyao_1 小时前
第 4.1 篇:让 Codex 理解你的双链——AI 辅助发现笔记间的关联
人工智能·笔记
dadaobusi2 小时前
学习:开源项目Cheshire
学习
撩得Android一次心动3 小时前
Jetpack Compose 知识点整理1【个人用】
android·学习·kotlin·android jetpack·compose
xian_wwq4 小时前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
小弥儿5 小时前
GitHub今日热榜 | 2026-09-04:Agent省 token 成今日主线
学习·开源·github
前端精髓5 小时前
NestJS 是什么(对着 Spring Boot 一起学习)
spring boot·后端·学习
kyrie_sakura6 小时前
MySQL数据库学习笔记2--系统函数(分组,单行,窗口函数)
数据库·学习·mysql