导航:首页 > 净水问答 > kettlejava过滤器

kettlejava过滤器

发布时间:2021-11-06 11:17:23

㈠ kettle调用已经生成的ktr,然后再java端怎么能获取数据集

result.getrows不是获取trans流程里面‘流动’的数据的。
trans里面有个‘复制记录到结果’插件,输出到里面的数据,通过result.getrows就能获取。

㈡ 如何将kettle 集成到java应用

在Java应用程序中调用Kettle的Transformation

package com.ggd543.kettle.trans

import org.pentaho.di.core.util.EnvUtil
import org.pentaho.di.core.KettleEnvironment
import org.pentaho.di.trans.{Trans, TransMeta}

/**
*
* User: 刘永健
* Date: 12-3-8
* Time: 下午12:14
* To change this template use File | Settings | File Templates.
*/

object TransDemo extends App {

execTrans(args(0)) // ktr文件的全路径

def execTrans(fileName: String) {
KettleEnvironment.init()
EnvUtil.environmentInit();
val transMeta = new TransMeta(fileName)
val trans = new Trans(transMeta)
trans.execute(null) // you can pass arguments instead of null
trans.waitUntilFinished();
if (trans.getErrors > 0) {
throw new RuntimeException("There were errors ring transformation execution")
}

}
}

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>kettledemo</groupId>
<artifactId>kettledemo</artifactId>
<version>1.0</version>

<dependencies>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scala-tools.testing</groupId>
<artifactId>specs_2.9.1</artifactId>
<version>1.6.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_2.9.1</artifactId>
<version>1.6.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor</artifactId>
<version>2.0</version>
</dependency>

<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-testkit</artifactId>
<version>2.0</version>
</dependency>

</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>

<profiles>
<profile>
<id>pentaho</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<pentaho.kettle.version>4.2.1.1</pentaho.kettle.version>
</properties>
<dependencies>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-core</artifactId>
<version>${pentaho.kettle.version}</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-db</artifactId>
<version>${pentaho.kettle.version}</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-engine</artifactId>
<version>${pentaho.kettle.version}</version>
</dependency>
<dependency>
<groupId>pentaho</groupId>
<artifactId>pentaho-hdfs-vfs</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-test</artifactId>
<version>${pentaho.kettle.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<repositories>
<repository>
<id>pentaho</id>
<name>Pentaho Repository</name>
<url>http://repo.pentaho.org/artifactory/pentaho/</url>
</repository>
</repositories>
</profile>

<profile>
<id>scala</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<scala.version>2.9.1</scala.version>
</properties>
<repositories>
<repository>
<id>typesafe</id>
<name>Typesafe Repository</name>
<url>http://repo.typesafe.com/typesafe/releases/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>${scala.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-swing</artifactId>
<version>${scala.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>

</project>

㈢ 怎么实现java简单调用kettle我自己做好的job

怎么实现java简单调用kettle我自己做好的job
/**
* 本测试类慎用!!!!!!!
*
* @param args
*/
public static void main(String[] args) {
String datetime = "2014-12-19 23:20:45";
String[] params = {"707", datetime}; // 传递参数
String path = "F:\\job7.kjb";

// runTransfer(params, path);
runJob(params, path);
// runJob();
// jbResource();

}

/**
* 运行转换文件方法
* @param params 多个参数变量值
* @param ktrPath 转换文件的路径,后缀ktr
*/
public static void runTransfer(String[] params, String ktrPath) {
Trans trans = null;
try {
// // 初始化
// 转换元对象
KettleEnvironment.init();// 初始化
EnvUtil.environmentInit();
TransMeta transMeta = new TransMeta(ktrPath);
// 转换
trans = new Trans(transMeta);

// 执行转换
trans.execute(params);
// 等待转换执行结束
trans.waitUntilFinished();
// 抛出异常
if (trans.getErrors() > 0) {
throw new Exception(
"There are errors ring transformation exception!(传输过程中发生异常)");
}
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* java 调用 kettle 的job
*
* @param jobname
* 如: String fName= "D:\\kettle\\informix_to_am_4.ktr";
*/
public static void runJob(String[] params, String jobPath) {
try {
KettleEnvironment.init();
// jobname 是Job脚本的路径及名称
JobMeta jobMeta = new JobMeta(jobPath, null);
Job job = new Job(null, jobMeta);
// 向Job 脚本传递参数,脚本中获取参数值:${参数名}
// job.setVariable(paraname, paravalue);
job.setVariable("id", params[0]);
job.setVariable("dt", params[1]);
job.start();
job.waitUntilFinished();
if (job.getErrors() > 0) {
throw new Exception(
"There are errors ring job exception!(执行job发生异常)");
}
} catch (Exception e) {
e.printStackTrace();
}
}

㈣ 怎么在kettle官网查找kettle的javaApi和一些案例

publicclassKettleTest{
publicstaticvoidmain(String[]args){
Stringfilename="/wang/work/study/Kettle/sample/excel_trans.ktr";
try{
KettleEnvironment.init();
EnvUtil.environmentInit();
TransMetatransMeta=newTransMeta(filename);
Transtrans=newTrans(transMeta);
trans.execute(null);//.
trans.waitUntilFinished();
if(trans.getErrors()>0)
{
thrownewRuntimeException(".");
}
}
catch(KettleExceptione){
//TODOPutyourexception-handlingcodehere.
System.out.println(filename);
System.out.println(e);
}
}
}

㈤ 通过取出kettle日志里过滤数据的条数来记录,java有这样的包吗

这个我没遇到过。不过可以这样:你在kettle里做个过滤,吧过滤出的数据单独写到 txt或者数据表里,然后 java调 ktr ,然后开个线程 扫描过滤的数据。

㈥ java 调用kettle报错

Unable to get VFS File object for filename 'file:///D:/tDataWarehouseMonitor/wuzilb.ktr' : Unknown scheme "sftp" in URI "{1}".这个错误是没有找到文件的路径,看看这路径下有没有文件

㈦ kettle中java脚本怎么使用

完整例子如下:

Java代码
String firstnameField;
String lastnameField;
String nameField;
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
// 获取输入
//
Object[] r = getRow();
// 输入为空,直接false
//
if (r == null) {
setOutputDone();
return false;
}
// 处于性能考虑,parameter只查一次
//
if (first) {
firstnameField = getParameter("FIRSTNAME_FIELD");
lastnameField = getParameter("LASTNAME_FIELD");
nameField = getParameter("NAME_FIELD");
first=false;
}
// 用 createOutputRow() 来保证output的数组够大,能够装下任何新的域
//
Object[] outputRow = createOutputRow(r, data.outputRowMeta.size());
String firstname = get(Fields.In, firstnameField).getString(r);
String lastname = get(Fields.In, lastnameField).getString(r);
// Set the value in the output field
//
String name = firstname+" "+lastname;
get(Fields.Out, nameField).setValue(outputRow, name);
// putRow will send the row on to the default output hop.
//
putRow(data.outputRowMeta, outputRow);
return true;
}

㈧ kettle的java组件怎么去让一列数据分成几列

kettle的java组件怎么去让一列数据分成几列
在Java应用程序中调用Kettle的Transformation

package com.ggd543.kettle.trans

import org.pentaho.di.core.util.EnvUtil
import org.pentaho.di.core.KettleEnvironment
import org.pentaho.di.trans.{Trans, TransMeta}

㈨ kettle5.1 使用JAVA 调用 方式 jar包问题

要引用kettle 里lib 表里里的js包,包名名称基本有js相关字样你可以尝试找找,还有一些其它依赖包

阅读全文

与kettlejava过滤器相关的资料

热点内容
反渗透膜脱盐率会下降吗 浏览:92
化学清洗ro膜的碱液浓度多少 浏览:350
壁挂式净水器一套多少钱 浏览:358
自然水体污水菌培服务哪里找 浏览:922
300头猪的猪场污水处理 浏览:629
钠型732阳离子交换树脂 浏览:667
陈集镇污水处理厂工艺流程 浏览:977
造纸废水排放的污染 浏览:388
水蒸气半透膜 浏览:356
柜门回位锁扣的做用 浏览:373
老式水龙头怎么装净化器 浏览:740
密胺树脂和pp材质 浏览:356
污水处理do粉是什么 浏览:481
净水器水质达到多少算好 浏览:341
污水管道工程建设单位 浏览:709
过滤怎么用 浏览:41
锅炉软水除垢剂 浏览:194
蒸馏塔的产品不合格时 浏览:18
3m车载空气净化器有什么好处 浏览:867
浙江农村生活污水处理设备怎么样 浏览:898