Kettle入门

安装

1575284306236

1575284334203

简介

  • 一个转换就是一个ETL的过程,而作业则是多个转换、作业的集合。

  • 在作业中可以对转换或作业进行调度、定时任务等(据说定时不好用,可以通过其他方式,比如linux的crontab命令,不过实际使用中,这个指令也不大好使,有待查看日志探明原因)。

  • 实际过程中,写的流程不是很复杂,当数据抽取需要多步骤时,分成多个转换,在集合到一个作业里顺序摆放,然后执行即可。

  • 不放到作业里的话,要对多个转换依次执行命令,比较麻烦。

    1575284796606

    • 和Nifi挺像的一个ETL工具, 实际操作就是托拉拽。

重要工具

1575285036768

  1. Spoon.bat/spoon.sh

    • 图形界面工具,就是启动上图主界面的命令行。这个界面应该是JavaFX做的。

    • 用来在有图形界面的系统下写任务

    • 写好后,也可以通过该工具进行执行,调试

    • 这个工具最大的问题是启动很慢,并且如果修改了数据库连接的配置,只有重新启动才能生效了。这时候就体现了命令行的优越性。

    • 转换窗口

      1575288901519

    • 执行SQL脚本: 可以直接在控件里面写SQL, 并指定执行的库

      1575289133619

    • 表输入: 通过查询数据库的表来获取输入数据流, 可以在该控件中写SQL

      1575289290158

    • 表输出: 将数据流映射到指定的表中。

      1575289407278

      • 指定了数据库连接(后叙)和目标表之后,可以勾选指定数据库字段,如此下方的数据库字段标签的内容就成了可编辑状态(因为表输入和表输出的数据表结构不可能完全一致,通过这样可以将A表列对应到指定的B表列中)
    • 发送邮件: 转换完成后,通过指定的邮箱发送邮件到指定的联系人

      1575289537371

  2. Kitchen.bat/kitchen.sh

    • 对应shell指令:

      ./kichen.sh -file ./YourScirpts/demo.kjb
      
    • 作业脚本的后缀是kjb

    • 有时候,可能需要将日志输出到某个地方,可以加-log参数

  3. Pan.bat/pan.sh

    • 对应shell指令:

      ./pan.sh -file ./YourScripts/demo.ktr
      
    • 转换脚本的后缀是ktr

设置数据库

  • 两种方式:

    • 直接配置在转换中

      1575290282198

      1575290732240

      • 连了下本地的PG做一下测试
    • 配置在jndi配置文件中

      1575290826975

      SampleData/type=javax.sql.DataSource
      SampleData/driver=org.h2.Driver
      SampleData/url=jdbc:h2:file:samples/db/sampledb;IFEXISTS=TRUE
      SampleData/user=PENTAHO_USER
      SampleData/password=PASSWORD
      Quartz/type=javax.sql.DataSource
      Quartz/driver=org.hsqldb.jdbcDriver
      Quartz/url=jdbc:hsqldb:hsql://localhost/quartz
      Quartz/user=pentaho_user
      Quartz/password=password
      Hibernate/type=javax.sql.DataSource
      Hibernate/driver=org.hsqldb.jdbcDriver
      Hibernate/url=jdbc:hsqldb:hsql://localhost/hibernate
      Hibernate/user=hibuser
      Hibernate/password=password
      Shark/type=javax.sql.DataSource
      Shark/driver=org.hsqldb.jdbcDriver
      Shark/url=jdbc:hsqldb:hsql://localhost/shark
      Shark/user=sa
      Shark/password=
      PDI_Operations_Mart/type=javax.sql.DataSource
      PDI_Operations_Mart/driver=org.postgresql.Driver
      PDI_Operations_Mart/url=jdbc:postgresql://localhost:5432/hibernate?searchpath=pentaho_operations_mart
      PDI_Operations_Mart/user=hibuser
      PDI_Operations_Mart/password=password
      live_logging_info/type=javax.sql.DataSource
      live_logging_info/driver=org.postgresql.Driver
      live_logging_info/url=jdbc:postgresql://localhost:5432/hibernate?searchpath=pentaho_dilogs
      live_logging_info/user=hibuser
      live_logging_info/password=password
      
posted @ 2019-12-02 21:51  wellDoneGaben  阅读(331)  评论(0编辑  收藏  举报