数据仓库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

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

直接到目标

右侧增量

运行测试

第一次

第二次

相关推荐
小奶包他干奶奶1 天前
Webpack学习——Loader(文件转换器)
前端·学习·webpack
小奶包他干奶奶1 天前
Webpack学习——原理理解
学习·webpack·devops
励志成为美貌才华为一体的女子1 天前
强化学习PPO和GRPO逻辑学习
学习
meichaoWen1 天前
【Vue3】vue3的全面学习(一)
前端·javascript·学习
FFF团团员9091 天前
树莓派学习笔记3:LED和Button
笔记·学习
碧海潮生_CC1 天前
【CUDA笔记】04 CUDA 归约, 原子操作,Warp 交换
笔记·cuda
摇滚侠1 天前
2025最新 SpringCloud 教程,从单体到集群架构,笔记02
笔记·spring cloud·架构
风123456789~1 天前
【OceanBase专栏】OB背景知识
数据库·笔记·oceanbase
智者知已应修善业1 天前
【51单片机普通延时奇偶灯切换】2023-4-4
c语言·经验分享·笔记·嵌入式硬件·51单片机
wdfk_prog1 天前
[Linux]学习笔记系列 -- [block]bio
linux·笔记·学习