ETL(一):(详细步骤)使用ETL将源数据抽取到EDW层

article/2025/8/25 10:31:03

1、ETL中4大常用客户端

在这里插入图片描述

  • R客户端主要用于创建文件夹,不同的项目主题,应该放在不同的文件夹中;

2、ETL开发流程

在这里插入图片描述

  • ①~③在D客户端中完成;
  • ④和⑤在W客户端中完成;
  • ⑥在M客户端中完成;

3、需求

  • 需求一:将orcle作为源数据库,将scott用户下emp表中数据,抽取到edw层。

4、创建edw用户和test1文件夹;

1)创建一个edw用户,用户存放数据转换、清洗后的数据;

① 登陆系统用户system,该用户拥有数据库最高权限;
在这里插入图片描述
② 创建edw用户;

  • 注意:这里只讲述怎么在PL-SQL中创建用户,使用代码创建用户和赋予用户权限你可以自己去百度。
    在这里插入图片描述

③ 给edw用户赋予权限,权限可以给高一点;
在这里插入图片描述
在这里插入图片描述

2)使用R客户端创建一个test1的文件夹;

① 启动R客户端,会是下图这个样子;
在这里插入图片描述
② 连接informatica服务器;
在这里插入图片描述
③ 创建test1文件夹;
点击文件夹–>创建;
在这里插入图片描述
输入文件名,点击确定即可;
在这里插入图片描述
创建完成以后,就会出现如下所示的test1文件夹;
在这里插入图片描述

5、开发步骤如下

  • 一个完整的ETL开发需要依次经过如下几层:OTLP–>ODS–>EDW–>DW
  • OLTP代表的是源数据层,因为数据的来源会不同,ETL支持好多中数据库中的数据,文件数据,这一层就是我们要处理的原始数据;
  • ODS代表的是数据存储层,存放在该层的数据和源数据中的数据一摸一样。为了数据能够保持其原有状态,不损坏原始数据,我们相当于复制了一份数据放在了ODS层,该层数据才是用于我们做ETL开发的数据;
  • EDW层是数据仓库层,用于存放我们进行数据转换、清洗过后的数据;
  • DW层是数据集市层,用于存放我们对EDW层数据进行分组、聚合后的数据;
  • 注意:现实开发中,ODS层的数据是存放在某个服务器上的,该层数据和源数据是一模一样的,因此,我们在学习过程中,可以跳过该层,直接操作源数据,但是实际开发中不要这么干,源数据一般我们是不动的,数据真的很宝贵。

1) 定义源表

在这里插入图片描述

  • 上图中第7步可以看到,我们选择了EMP表导入到info中,这一步实际上是将源数据库中的EMP表,直接映射到了info中,此时在info中既有EMP表的表结构,又有该表中的数据。

2) 定义目标表(注意这里定义的只是表结构,目前还没有任何数据);

① 通过源表生成目标表;
在这里插入图片描述
② 生成目标表后,给目标表命名,注意:这个命名很有讲究的;
在这里插入图片描述
③ 在上述“编辑表中”,做一个简单的列筛选,选择我们自己想要的列;
在这里插入图片描述
④ 此时你在查看该表,可以发现表名已经被修改,同时comm字段也被删除了;
在这里插入图片描述
⑤ 最关键的一步:将创建好的目标表,生成并执行到目标用户的数据库中去(有了这一步,才会在目标表中真正创建该表,只是一个表结构,没有任何数据),因此必须点击这个“生成/执行(SQL)”;
在这里插入图片描述
⑥ 当出现如下窗口,点击连接,仍然使用这个ODBC数据源(由于edw层仍然是存在oracle数据库中,因此这里仍然选择oracle连接驱动),我们要把数据加载到edw用户中,因而这里使用edw用户登陆,点击连接;
在这里插入图片描述
⑦ 按照如下1,2,3,4步骤进行操作,生成并执行建表语句。或者你可以不点击3,4,直接点击“生成并执行”即可;
在这里插入图片描述
⑧ 此时,在edw用户中可以查看edw_emp表,但是只有表结构,没有数据;
在这里插入图片描述

3) 创建映射

① 创建一个映射,命名为m_ora_edw_emp;
在这里插入图片描述
② 将源表拖拉到右边的灰色区域,可以发现你每拉进去一个表,就会给你生成一个SQ打头的表(图中的是SQ_EMP表);

  • 注意:SQ_EMP是由于你将Oracle中的表加载到info中,由于数据类型的不同,info会自动把源表,生成符合info中数据类型的一张表。

在这里插入图片描述

③ 将目标表拖拉到右边的灰色区域;
在这里插入图片描述
④ 进行源表和目标表之间的映射连接;
在这里插入图片描述
⑤ 当出现如下界面,表示连接成功;
在这里插入图片描述
点击CTRL+S,保存一下(这一步很重要),界面左下角出现如下界面,表示映射没有问题;
在这里插入图片描述
最后补充一条:实际开发过程中,一个目标表,创建一个映射。

4) 定义任务:任务又叫"会话(session)",定义任务是为了启动映射

① 在定义任务之前,先点击连接–>再点击关系;
在这里插入图片描述
② 定义一个连接源数据库的连接对象;
在这里插入图片描述
③ 定义一个连接目标数据库的连接对象;
在这里插入图片描述
上面两步完成以后,点击关闭即可;

④ 创建任务:点击任务–>点击创建;
在这里插入图片描述
⑤ 当出现下表时,给任务(又叫会话)命名,点击创建;
在这里插入图片描述
⑥ 当出现如下界面,选中m_ora_edw_emp,再点击确定;
在这里插入图片描述
上述操作完成后,点击完成;

⑦ 修改原表的;连接对象;
在这里插入图片描述
⑧ 修改目标表的连接对象:
在这里插入图片描述
⑨ 用CTRL+S保存一下,当出现如下界面,证明任务创建成功;
在这里插入图片描述

5)创建工作流:用来调度任务去执行工作

① 创建一个工作流;
在这里插入图片描述
② 当出现如下界面后,定义一个工作流的名称,点击确定;
在这里插入图片描述
③ 将工作流与任务进行连接;
在这里插入图片描述
④ 点击CTRL+S保存,当出现如下界面,证明工作流创建成功;
在这里插入图片描述
⑤ 启动工作流:
在这里插入图片描述
⑥ 上述操作会自动帮我们打开M客户端,
在这里插入图片描述
⑦ 此时,去edw用户下查看edw_emp表中是否有数据;
在这里插入图片描述

6、开发流程中,几个需要使用Ctrl+S的地方

  • 创建映射的时候,最后将源表和目标表进行关联时,需要使用Ctrl+S保存这个关联,映射才算创建成功。
    在这里插入图片描述
  • 定义任务的时候,最后也需要使用Ctrl+S保存创建的任务,任务才算是创建成功。
    在这里插入图片描述
  • 创建工作流的时候,当工作流创建后后,就需要使用Ctrl+S保存创建的工作流,这样工作流才算是创建成功。
    在这里插入图片描述

### 7、关于ETL开发中,命名需要注意的地方。

  • 创建映射(Mapping)的时候,命名是“m_ora_edw_emp”;
  • 定义任务(Session)的时候,命名是“s_ora_edw_emp”;
  • 创建工作流(Workflow)的时候,命名是“w_ora_edw_emp”;
  • 解释:英文字母首字母作为前缀,m表示创建的是一个映射;s表示创建的是一个任务;w表示创建的是一个工作流;ora_edw_emp表示把oraacle最为源数据库,将该数据库中的emp表抽取、转换到edw层。

8、映射、任务、工作流的作用

  • 映射主要是完成源表和目标表之间的数据流向,只有通过映射,源表中的数据才可以进入目标表中。任务主要是为了执行映射,映射创建成功后,数据并没有真正流入到目标表中,只有通过定义任务后,执行了这个映射,目标表中才会有数据。但是任务启动工作,需要通过创建工作流来调度,这也就是我们为什么创建了映射后,还要定义任务,定义任务后还要创建工作流的原因。

http://chatgpt.dhexx.cn/article/4IESf9Wf.shtml

相关文章

浅析ODS与EDW关系(转载)

背景知识:在当今这样一个信息技术发展迅速的时代,数据量也在不断的增长,面临这样的压力,总是会有大神提出一些解决方案。比如高层管理人员希望能查看整个公司的发展业绩,数据仓库(Data Warehouse, DW)正是解决该问题的…

ODS和EDW

企业运营数据仓储(ODS)和企业数据仓库(EDW ) 企业数据架构 EDW主要为企业提供分析决策服务。ODS主要实现企业数据整合、共享和准实时运营监控等功能,ODS是EDW的一个有益的补充和扩展 其中.ADB为应用数据库;A、B、C表示不同类型的数据流动&am…

浅析ODS与EDW 关系(转载)

摘要 本文重点介绍了企业运营数据仓储(ODS)和企业数据仓库(EDW )的概念,并对ODS与EDW 之间的关系,包括两者相同点与不同点进行了详尽的对比与阐述,文章还对业界公认的ODS和EDW 两种不同建设方法也分别进行了说明,并给出了作者认为…

ODS与EDW的区别

项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 根据自己的理解与实际项目经验,说说ODS与EDW的异同。如果有不对的地方,欢迎大家批评指正。 维基百科对于ODS的…

传统数据仓库 DW/EDW/BI/ODS/DM/ETL

DW 数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智…

范式理解(0范式,1范式,2范式)

https://www.zhihu.com/question/20473040 可以从函数、几何与矩阵的角度去理解范数。 我们都知道,函数与几何图形往往是有对应关系的,这个很好想象,特别是在三维以下的空间内,函数是几何图像的数学概括,而几何图像是…

数据库(四):函数依赖和数据库异常,第一范式,第二范式,第三范式,第四范式

文章目录 前言一、函数依赖二、异常三、第一范式四、第二范式五、第三范式六、BC范式 前言 本文转载于:https://zhuanlan.zhihu.com/p/20028672 在阅读本文时,可以把“关系”理解为数据表。此外还有一个“关系模式”的概念。“关系”和“关系模式”的区…

数据库4范式

范式与公理系统 前言一、函数依赖1.部分函数依赖2.完全函数依赖3.传递函数依赖4.码 二、范式1.第一范式(1nf)2.第二范式(2nf)判断是否是第二范式 3.第三范式(3nf)4.BCNF范式6.第四范式多值依赖 总结 前言 …

数据库的第一范式,第二范式,第三范式,BCNF范式理解

第一范式 属性的原子性 所谓的第一范式就是数据库中的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性,如果出现重复的属性则需要重新构建实体,新的实体由重复的属性构…

第四范式冲刺IPO:4年亏13亿收入逐年翻番,研发工资人均2万

边策 梦晨 发自 凹非寺量子位 | 公众号 QbitAI 知名AI独角兽第四范式,内部详情今天有了完整公开。 中国首个ACM世界冠军戴文渊创办、腾讯红杉加持,股东和客户集齐五大国有银行,创办7年累计吸金66亿,主打的是技术包括“黑魔法”Aut…

数据库六大范式详解

候选码 某一属性组的值能唯一标识一个元组,而其子集不能,则称该属性组为候选码。若一个关系中有多个候选码,则选定其中一个为主码。 例如下图所示的学生表中,学号和姓名都可以唯一标识一个元组,故该表的候选码为学号和…

[数据库] 第一范式、第二范式、第三范式、BC范式

要搞清楚常见范式,需得先了解以下概念 数据描述术语对应表 关键码 1) 超键:在关系中能唯一标识元组的属性或属性集称为关键模式的超键。 2) 候选键:不含有多余属性的超键称为候选键。也就是在候选键中在删除属性就不是键了。 3) 主键…

第一范式,第二范式,第三范式,BCNF范式理解

第一范式、第二范式、第三范式 参考了https://www.zhihu.com/question/24696366 https://www.cnblogs.com/lca1826/p/6601395.html 基础知识 实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等等。值得强调的是这里所说的“…

数据库|第一范式、第二范式、第三范式、BC范式、第四范式简单理解

数据库|第一范式、第二范式、第三范式、BC范式、第四范式简单理解 在设计数据库的时候,虽说将我们要的数据正确完整导入数据库是很关键的,但是对于数据库的设计者来说,如何将大量数据合理有效正确地导入数据库中也是极其关键的,好…

简单了解第一,二,三范式(图文详细)

简单了解第一,二,三范式 什么是范式第一范式第二范式第三范式 什么是范式 范式:范式是符合某一种级别的关系模式的集合,表示一个关系内部属性之间的联系何合理化程度 粗略理解:就是一张数据表的表结构所符合的某种设…

第一范式、第二范式、第三范式、BCNF范式详解

文章目录 0. 范式(NF)1. 第一范式(1NF)2. 第二范式(2NF)2.1 函数依赖2.1.1完全函数依赖2.1.2 部分函数依赖2.1.3 传递函数依赖 2.2 码2.3 非主属性 3. 第三范式(3NF)4. BCNF范式5. 小结6. 参考文献 0. 范式…

详解第一范式、第二范式、第三范式、BCNF范式

GITHUB: https://github.com/wenkechen 文章目录 什么是”范式(NF)”1. 第一范式(1NF)2. 第二范式(2NF)2.1 函数依赖2.1.1完全函数依赖2.1.2 部分函数依赖 2.2 码2.3 非主属性 3. 第三范式(3NF)4. 小结 什么…

范式说明:第四范式

4NF取决于多值依赖的概念。 FD函数依赖(X→Y表示:X函数决定Y,或Y函数依赖于X),主要解决了关系R中属性值之间的“多对一”联系,即属性X与属性Y是“多对一”。而多值依赖主要是解决属性值之间的“一对多”联系…

数据库关系范式——第一范式、第二范式、第三范式、BC范式【通俗易懂,博主会讲人话】

范式:是符合某一种级别的关系模式的集合。 说白了,就是对关系模式的一种规范化。 范式分为:第一范式、第二范式、第三范式、BC范式、第四范式、第五范式。后面两种在这里不讨论。 1、第一范式(1NF):关系模式S中的所有属性都是不…

数据库三大范式、BC范式、第四范式

目录 第一范式(1NF):原子性(存储的数据应该具有“不可再分性”)第二范式(2NF):唯一性 (消除非主键部分依赖联合主键中的部分字段)(一定要在第一范式已经满足的情况下&…