数据仓库技术支持-ETL2
梦想成为大数据工程师的第n天!
目录
6.下面我们做维度表的第一个容器(全量)
①添加组件序列容器 执行SQl任务 数据流任务
②双击数据流任务
③添加组件OLE DB源 数据转换 OLE DB目标
④分别向组件中添加内容
下面是具体的实现:
序列容器:执行ETL的容器(3个)
我们在做ETL时 有多个维度表 我们就要写多个ETL 但是 我们建立了序列容器以后 只需要建立一个ETL就可以对三个维度进行操作了
下面我们做全量ETL
双击执行SQl任务 写入以下内容
双击数据流任务 添加以下内容(直接拖拽)
双击OLE DB源 添加以下内容
双击数据转换 类型不一致 汉字转不过去 所以我们要做一下数据转换
双击OLE DB目标
添加映射
7.同理 我们可以做出另外两个相对应的容器
我们先点击停止调试
8.可能出现的错误
在执行时发生报错信息 我们查看发现是数据类型不一致 需要修改一下
取消勾选 不然我们不可以修改表的数据类型
再次执行 运行成功!
9.下面我们做事实表的容器(增量和全量)
双击线 左边做全量 右边做增量
实现只查询20110814之前的数据
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
再次运行时如果报错 我们删除一下表中内容 再次运行就可以了
同理 另一个事实表的容器我们也可以做出来
PS:数据类型一定要对应 不然也会报错