kettle使用常见场景

来源:互联网 发布:mac打不开淘宝 编辑:程序博客网 时间:2024/05/22 23:32
1.固定时间导入固定位置下的CSV文件到关系数据库
1. 创建一个transformation,负责将CSV文件写入到关系型数据库
2. 创建一个job,固定时间点检查CSV文件是否就位,然后执行步骤1的转换
调度方式:
1. 利用Job实现固定时间点调度
2. 利用schedulewindows)或crontabLinux)调度kitchenjob)或pantransformation
例如:
      pan.sh -file:/tmp/foo.ktr "-param:MASTER_HOST=192.168.1.3""-param:MASTER_PORT=8181"
   Linux下调用资源库中的某个Job
bash /home/kettle/data-integration/kitchen.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /job jobname
Linux下调用资源库中的某个transformation
bash /home/kettle/data-integration/pan.sh /rep kettle_demo /user username /pass passwd /level Minimal /dir /dirname /trans transname
3.利用JAVA代码(Quartz等)调用命令行调度方式B中的jobtransformation
4.利用JAVA代码(Quartz等)直接调用jobtransformation,实现调度
参考:
         http://wiki.pentaho.com/display/EAI/Kitchen+User+Documentation
http://wiki.pentaho.com/display/EAI/Pan+User+Documentation
2.Java代码调用transformation
引入jar

核心代码


3.Java代码调用job
引入jar
         同场景2
核心代码


4.获取外部参数

5.全量抽取数据
没有条件,直接全部抽取覆盖现有数据
6.增量抽取数据
增量抽取场景【时间标识字段、自增长ID、日志获取变动记录、HASH比较出变化数据(复杂)、状态字段】
选择一个基于时间标识字段的情况,设计增量抽取



原创粉丝点击