PDI 7.1 入门实例

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

一、转换

转换用于描述ETL数据流。

场景

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

从文件中提取数据

1、新建一个转换

PDI 7.1 入门实例_第1张图片

2、在 核心对象标签下,展开 输入节点,找到 文本文件输入拖入绘图区
PDI 7.1 入门实例_第2张图片

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

  • 导入数据文件


    PDI 7.1 入门实例_第3张图片
  • 设置内容格式


    PDI 7.1 入门实例_第4张图片
  • 获取字段
    PDI 7.1 入门实例_第5张图片

    PDI 7.1 入门实例_第6张图片

    4、保存转换
    PDI 7.1 入门实例_第7张图片

    由于连接了资源库所以有下面设置对话框,如果没连接资源库就和普通保存文件一样。
    PDI 7.1 入门实例_第8张图片

过滤缺失邮编的记录

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

PDI 7.1 入门实例_第9张图片

2、按着鼠标滑轮在 Read Sales Data过滤记录之间添加一个跳转
PDI 7.1 入门实例_第10张图片

3、双击绘图区的 过滤记录进行编辑
PDI 7.1 入门实例_第11张图片

4、保存转换

载入数据到数据库

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


2、在 Filter Missing Zips表输出之间添加 TRUE跳转
PDI 7.1 入门实例_第12张图片

3、双击绘图区的 表输出进行编辑
PDI 7.1 入门实例_第13张图片

  • 新建数据库连接(为了方便使用SQLite)


    PDI 7.1 入门实例_第14张图片
  • 生成SALES_DATA表


    PDI 7.1 入门实例_第15张图片

    4、保存转换

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

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

PDI 7.1 入门实例_第16张图片

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

  • 导入数据文件


    PDI 7.1 入门实例_第17张图片
  • 设置内容格式


    PDI 7.1 入门实例_第18张图片
  • 获取字段


    PDI 7.1 入门实例_第19张图片

    3、保存转换

处理缺失邮编的记录

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

PDI 7.1 入门实例_第20张图片

2、在 Read Postal Codes流查询之间添加跳转,在 Filter Missing Zips流查询之间添加 FALSE跳转
PDI 7.1 入门实例_第21张图片

3、双击绘图区中的 流查询进行编辑
PDI 7.1 入门实例_第22张图片

  • 删除不需要的字段


    PDI 7.1 入门实例_第23张图片

    4、保存转换

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

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

PDI 7.1 入门实例_第24张图片

2、在 Lookup Missing Zips字段选择之间添加跳转
PDI 7.1 入门实例_第25张图片

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

  • 查询结果ZIP_RESOLVED字段替代原来的POSTALCODE字段


    PDI 7.1 入门实例_第26张图片
  • 在元数据选项中把ZIP_RESOLVED字段重命名为POSTALCODE并设置字段的格式
    PDI 7.1 入门实例_第27张图片

    4、在Select ValuesWrite to Database之间添加跳转
    PDI 7.1 入门实例_第28张图片

    5、保存转换

执行转换

PDI 7.1 入门实例_第29张图片
  • 运行配置


    PDI 7.1 入门实例_第30张图片
  • 运行结果


    PDI 7.1 入门实例_第31张图片
  • 查看输出到数据库的数据


    PDI 7.1 入门实例_第32张图片

二、作业

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

场景

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

创建作业

1、新建作业

PDI 7.1 入门实例_第33张图片

2、在 核心对象标签下,展开 通用节点,找到 START拖入绘图区
PDI 7.1 入门实例_第34张图片

添加条件项

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

PDI 7.1 入门实例_第35张图片

2、在 START检查一个文件是否存在之间添加跳转
PDI 7.1 入门实例_第36张图片

3、双击绘图区中的 检查一个文件是否存在进行编辑
PDI 7.1 入门实例_第37张图片

添加转换

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

PDI 7.1 入门实例_第38张图片

2、在 检查一个文件是否存在转换之间添加跳转
PDI 7.1 入门实例_第39张图片

3、双击绘图区中的 转换进行编辑
PDI 7.1 入门实例_第40张图片

设置作业定时执行

  • 双击绘图区中的START进行编辑
    PDI 7.1 入门实例_第41张图片

保存作业

PDI 7.1 入门实例_第42张图片

执行作业

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

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

  • 打开windows任务计划程序


    PDI 7.1 入门实例_第43张图片
  • 新建计划任务


    PDI 7.1 入门实例_第44张图片

    PDI 7.1 入门实例_第45张图片
  • 新建触发器


    PDI 7.1 入门实例_第46张图片
  • 添加操作
    PDI 7.1 入门实例_第47张图片

    注:这里日志输出使用了>>追加到日志文件,kitchen.bat有提供/logfile参数设置日志文件,但是使用时日志文件生成了但并没记录内容。
    2、运行计划任务
    PDI 7.1 入门实例_第48张图片

    PDI 7.1 入门实例_第49张图片

    3、查看运行日志
    到日志存放目录查看运行日志
    PDI 7.1 入门实例_第50张图片

    PDI 7.1 入门实例_第51张图片

    注:为了方便观察结果,这里把job的重复时间改成了五分钟。

你可能感兴趣的:(PDI 7.1 入门实例)