来自java的pdi大数据hadoop文件输入

e37o9pze  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(302)

我正在尝试运行一个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运行,我还需要设置什么吗?
谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题