ETL - 实战 Kettle 第一讲

前(fei)言(hua)

PDI 主要有两个部件,一个是转换,另一个是作业,他们之间不同的是作业是同步的,即每一步骤都要等待前一步骤完成,而转换是所有步骤异步运行。
ETL - 实战 Kettle 第一讲
对于我们的实战项目,要先将数据迁移填充至新客户表,因为订单表需要客户表的主键id作为它的外键,所以我们首先需要一个作业和两个转换,作业将会一个一个执行转换,第一个转换是迁移客户表数据,第二个则是将订单表拆分,和客户表关联。

  1. 让我们创建一个新的转换,并填充旧的客户数据。点击文件→新建→转换。
  2. 打开左面板的核心对象,搜索表输出,拖放至右面板,然后双击这个新的步骤,会弹出一个步骤配置弹窗:
    ETL - 实战 Kettle 第一讲
  3. 可以给这个步骤命名:获取唯一的客户数据,然后点击新建数据库连接:
    ETL - 实战 Kettle 第一讲
  4. 填写连接名称,选择MySQL作为连接类型,并填写服务器主机、端口、用户、密码和数据库吗,然后单击按钮测试,它将告诉你连接是否成功。
  5. 之后返回表输入弹窗,我们可以下 SQL 查询数据:
    ETL - 实战 Kettle 第一讲
  6. 现在让我们将其写入新的数据库。拖放步骤表输出。为步骤指定一个名称。为新数据库创建一个新连接,这里我只在本地同一个连接新建一个新的数据库,你可以根据实际场景变化。
  7. 为了获取上一步骤的数据,我们需要将他们连接,按下键盘上的 shift 键,点击表输入,然后将指针拖到第二步,它们就会连接起来。此外,如果我们点击步骤,一个菜单将出现在它下面。在这个菜单中,我们可以点击按钮来连接步骤。
  8. 选择数据库字段,点击获取字段获取插入字段,表字段表示要在客户表填充的列,流字段表示我们得到的数据:
    ETL - 实战 Kettle 第一讲
  9. 保存转换,点击运行启动。第一步转换完成!
    ETL - 实战 Kettle 第一讲
    让我们进入下一章,开始迁移关联数据。