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

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

直接到目标

右侧增量

运行测试

第一次

第二次

相关推荐
许长安9 小时前
RPC 同步调用基本使用方法:基于官方 RouteGuide 示例
c++·经验分享·笔记·rpc
做cv的小昊13 小时前
【TJU】研究生应用统计学课程笔记(8)——第四章 线性模型(4.1 一元线性回归分析)
笔记·线性代数·算法·数学建模·回归·线性回归·概率论
我命由我1234514 小时前
程序员的心理学学习笔记 - 空杯心态
经验分享·笔记·学习·职场和发展·求职招聘·职场发展·学习方法
stm32 菜鸟14 小时前
nucleo-f411re学习记录-13,flash的操作
学习
晓梦林14 小时前
3170靶场学习笔记
笔记·学习
ZC跨境爬虫14 小时前
跟着 MDN 学 HTML day_17:媒体与 Web Audio API 自动播放指南——策略、检测与最佳实践
前端·笔记·ui·html·音视频·媒体
ErizJ15 小时前
Redis|学习笔记
redis·笔记·学习
加油201915 小时前
方法论:如何系统性的学习?
学习·学习方法·方法论
Amazing_Cacao15 小时前
CFCA精品可可饮品认证课程高级压力测试:在极端液态变量中,捍卫精品巧克力品质的稳定复现法则
笔记
小t说说16 小时前
科学素养培养:男孩女孩的不同“方程式”,真的有分性别学习平台?
学习