我正在尝试运行一个kettle kjb,它有一个hadoop文件输入和hadoop文件输出步骤。我所要做的就是读取hadoop文件输入,并将结果转储到同一hdfs系统上的一个文件中。我能够运行kjb成功时,我跑过勺子。我用pentaho 6.0来运行kjb。
我正在尝试从java运行相同的kjb。我添加了以下pentaho大数据插件maven依赖项以及其他必需的Ketter依赖项。
<dependency>
<groupId>pentaho</groupId>
<artifactId>pentaho-big-data-kettle-plugins-hdfs</artifactId>
<version>LATEST</version>
</dependency>
除此之外,我还包括以下建议的代码行,用于在初始化kettle环境之前设置plugins文件夹。
string plugindir=“target/pentaho-big-data-kettle-plugins-hdfs-7.0-snapshot.jar”;
StepPluginType.getInstance().getPluginFolders().add(new PluginFolder(plugInDir,false, true));
KettleEnvironment.init();
JobMeta jobMeta = new JobMeta(filename, null, null);
Job job = initializeKettle(filename, jobMeta);
尽管这么做了,但在加载转换时仍然会出现以下缺少插件的错误。
6:23:47.091[main]error c.r.t.k.rmsketlexecutetemplate-在kettle转换执行期间出现错误。samplekjb-org.pentaho.di.core.exception.kettleexception:转换元数据加载期间出现意外错误
加载转换时发现缺少插件
步骤:hadoopfileinputplugin步骤:hadoopfileoutputplugin
at org.pentaho.di.job.entries.trans.JobEntryTrans.getTransMeta(JobEntryTrans.java:1205)
at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:648)
at org.pentaho.di.job.Job.execute(Job.java:716)
at org.pentaho.di.job.Job.access$000(Job.java:115)
at org.pentaho.di.job.Job$1.run(Job.java:835)
at java.lang.Thread.run(Thread.java:745)
原因:org.pentaho.di.core.exception.kettlemissingpluginsexception:加载转换时发现缺少插件
有人能建议我需要使用什么maven依赖项吗?或者在从java运行作业时,为了让它从java运行,我还需要设置什么吗?
谢谢
暂无答案!
目前还没有任何答案,快来回答吧!