PDI 7.1 入门实例

2018-01-16  本文已影响0人  hz_heng

这是一个官方的入门实例,实现完整的ETL流程包括提取数据,转换数据和载入数据。并使用作业控制ETL流程的执行。

一、转换

转换用于描述ETL数据流。

场景

现在需要把一份包含销售数据的文件sales_data.csv导入数据库,但是文件中的一些客户的邮编缺失了,需要在导入数据库前把缺失的邮编补全,邮编补全通过查询一份记录了城市邮编的文件Zipssortedbycitystate.csv

从文件中提取数据

1、新建一个转换


2、在核心对象标签下,展开输入节点,找到文本文件输入拖入绘图区

3、双击绘图区中的文本文件输入进行编辑

过滤缺失邮编的记录

1、在核心对象标签下,展开流程节点,找到过滤记录拖入绘图区


2、按着鼠标滑轮在Read Sales Data过滤记录之间添加一个跳转

3、双击绘图区的过滤记录进行编辑

4、保存转换

载入数据到数据库

1、在核心对象标签下,展开输出节点,找到表输出拖入绘图区


2、在Filter Missing Zips表输出之间添加TRUE跳转

3、双击绘图区的表输出进行编辑

从邮编查询文件中提取数据

1、在核心对象标签下,展开输入节点,找到文本文件输入拖入绘图区


2、双击绘图区中的文本文件输入进行编辑

处理缺失邮编的记录

1、在核心对象标签下,展开查询节点,找到流查询拖入绘图区


2、在Read Postal Codes流查询之间添加跳转,在Filter Missing Zips流查询之间添加FALSE跳转

3、双击绘图区中的流查询进行编辑

统一数据字典并载入数据库

1、在核心对象标签下,展开转换节点,找到字段选择拖入绘图区


2、在Lookup Missing Zips字段选择之间添加跳转

3、双击绘图区中的字段选择进行编辑

执行转换

二、作业

作业用于调度ETL工作,定义转换的依赖关系,检查执行条件等。

场景

假设有一个外部系统负责在每周六晚上9点生成销售数据文件,现在需要创建一个作业,检查文件是否已经生成,执行转换将数据导入数据库,这个工作将于每周日上午9点执行。

创建作业

1、新建作业


2、在核心对象标签下,展开通用节点,找到START拖入绘图区

添加条件项

1、在核心对象标签下,展开条件节点,找到检查一个文件是否存在拖入绘图区


2、在START检查一个文件是否存在之间添加跳转

3、双击绘图区中的检查一个文件是否存在进行编辑

添加转换

1、在核心对象标签下,展开通用节点,找到转换拖入绘图区


2、在检查一个文件是否存在转换之间添加跳转

3、双击绘图区中的转换进行编辑

设置作业定时执行

保存作业

执行作业

由于这是一个定时执行的作业,一般应该放在后台执行,PDI提供了命令行执行作业的工具kitchen.bat

1、添加计划任务执行作业

上一篇下一篇

猜你喜欢

热点阅读