前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ETL(一):(详细步骤)使用ETL将源数据抽取到EDW层

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

作者头像
数据分析与统计学之美
发布2021-11-25 09:45:57
9300
发布2021-11-25 09:45:57
举报
文章被收录于专栏:Python+数据分析+可视化

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、映射、任务、工作流的作用

  • 映射主要是完成源表和目标表之间的数据流向,只有通过映射,源表中的数据才可以进入目标表中。任务主要是为了执行映射,映射创建成功后,数据并没有真正流入到目标表中,只有通过定义任务后,执行了这个映射,目标表中才会有数据。但是任务启动工作,需要通过创建工作流来调度,这也就是我们为什么创建了映射后,还要定义任务,定义任务后还要创建工作流的原因。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/12/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、ETL中4大常用客户端
  • 2、ETL开发流程
  • 3、需求
  • 4、创建edw用户和test1文件夹;
  • 1)创建一个edw用户,用户存放数据转换、清洗后的数据;
  • 2)使用R客户端创建一个test1的文件夹;
  • 5、开发步骤如下
    • 1) 定义源表
      • 2) 定义目标表(注意这里定义的只是表结构,目前还没有任何数据);
        • 3) 创建映射
          • 4) 定义任务:任务又叫"会话(session)",定义任务是为了启动映射
            • 5)创建工作流:用来调度任务去执行工作
            • 6、开发流程中,几个需要使用Ctrl+S的地方
            • ### 7、关于ETL开发中,命名需要注意的地方。
            • 8、映射、任务、工作流的作用
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档