簡體   English   中英

Pentaho水壺因缺少插件而無法運行轉換

[英]Pentaho kettle Can't run transformation due to plugin missing

我嘗試使用java執行轉換文件,轉換通過s3輸出文件step從數據庫獲取數據並在s3中將數據打印到文件中。在用勺子運行時效果很好,但是在嘗試在java應用程序中運行時出現以下錯誤

Can't run transformation due to plugin missing

Java代碼

    KettleEnvironment.init();
    URL ktrUrl = PipelineResource.class.getClassLoader().getResource(tempFile.getAbsolutePath());
    TransMeta transMeta = new TransMeta(ktrUrl.getPath());
    Trans trans = new Trans(transMeta);
    trans.execute(new String[]{});
    trans.waitUntilFinished();
    if (trans.getErrors() > 0) {

全棧跟蹤

  2017/06/29 12:46:11 - S3 File Output.0 - ERROR (version 7.0.0.6-95, build
1 from 2017-05-23 03.01.13 by buildguy) : Can't run transformation due to
plugin missing2017/06/29 12:46:11 - S3 File Output.0 - ERROR (version
7.0.0.6-95, build 1 from 2017-05-23 03.01.13 by buildguy) : Error
initializing step [S3 File Output]
2017/06/29 12:46:11 - transformation1 - ERROR (version 7.0.0.6-95, build 1
from 2017-05-23 03.01.13 by buildguy) : Step [S3 File Output.0] failed to
initialize!
2017/06/29 12:46:11 - data from asset.0 - Finished reading query, closing
connection.
2017-06-29 12:46:11.048 ERROR 22396 --- [ XNIO-2 task-2] 
com.innvo.aop.logging.LoggingAspect : Exception in 
com.innvo.web.rest.PipelineResource.runPipeline() with cause = 'NULL' and 
exception = '
We failed to initialize at least one step. Execution can not begin!'
org.pentaho.di.core.exception.KettleException: 
We failed to initialize at least one step. Execution can not begin!
at org.pentaho.di.trans.Trans.prepareExecution(Trans.java:1157)
at org.pentaho.di.trans.Trans.execute(Trans.java:627)
at com.innvo.web.rest.PipelineResource.runPipeline(PipelineResource.java:201)
at com.innvo.web.rest.PipelineResource$$FastClassBySpringCGLIB$$81033db7.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)
at com.innvo.aop.logging.LoggingAspect.logAround(LoggingAspect.java:85)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)

通過添加插件路徑之前工作

  KettleEnvironment.init();

添加插件路徑

  StepPluginType.getInstance().getPluginFolders().add(new PluginFolder("/home/ali/data-integration/plugins", false, true));

只有在執行以下操作時它才起作用:

1)添加了以下變量,這些變量將數據集成插件文件夾指向VM參數:

-DKETTLE_PLUGIN_BASE_FOLDERS=path_to_your_data-integration/plugin

2)這還不夠,因為我的插件文件夾中缺少mongodb jar,當我添加jar pentaho-mongo-utils-8.2.0.0-342.jar時 (請注意,jar可能會因您所針對的版本而異)工作了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM