安装
- 国内源下载地址: [http://mirror.bit.edu.cn/pentaho/Data Integration/7.1/](http://mirror.bit.edu.cn/pentaho/Data Integration/7.1/)
- window下直接解压, jdk环境变量配置好, 点击Spoon.bat即可
简介
-
一个转换就是一个ETL的过程,而作业则是多个转换、作业的集合。
-
在作业中可以对转换或作业进行调度、定时任务等(据说定时不好用,可以通过其他方式,比如linux的crontab命令,不过实际使用中,这个指令也不大好使,有待查看日志探明原因)。
-
实际过程中,写的流程不是很复杂,当数据抽取需要多步骤时,分成多个转换,在集合到一个作业里顺序摆放,然后执行即可。
-
不放到作业里的话,要对多个转换依次执行命令,比较麻烦。
- 和Nifi挺像的一个ETL工具, 实际操作就是托拉拽。
重要工具
-
Spoon.bat/spoon.sh
-
图形界面工具,就是启动上图主界面的命令行。这个界面应该是JavaFX做的。
-
用来在有图形界面的系统下写任务
-
写好后,也可以通过该工具进行执行,调试
-
这个工具最大的问题是启动很慢,并且如果修改了数据库连接的配置,只有重新启动才能生效了。这时候就体现了命令行的优越性。
-
转换窗口
-
执行SQL脚本: 可以直接在控件里面写SQL, 并指定执行的库
-
表输入: 通过查询数据库的表来获取输入数据流, 可以在该控件中写SQL
-
表输出: 将数据流映射到指定的表中。
- 指定了数据库连接(后叙)和目标表之后,可以勾选指定数据库字段,如此下方的数据库字段标签的内容就成了可编辑状态(因为表输入和表输出的数据表结构不可能完全一致,通过这样可以将A表列对应到指定的B表列中)
-
发送邮件: 转换完成后,通过指定的邮箱发送邮件到指定的联系人
-
-
Kitchen.bat/kitchen.sh
-
对应shell指令:
./kichen.sh -file ./YourScirpts/demo.kjb
-
作业脚本的后缀是kjb
-
有时候,可能需要将日志输出到某个地方,可以加-log参数
-
-
Pan.bat/pan.sh
-
对应shell指令:
./pan.sh -file ./YourScripts/demo.ktr
-
转换脚本的后缀是ktr
-
设置数据库
-
两种方式:
-
直接配置在转换中
- 连了下本地的PG做一下测试
-
配置在jndi配置文件中
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
-