JSON出力に接続されたMongoDBInputを使用した単純なpentahoフォーメーションがあります。Pentaho Design Studio でプレビューを見ながら json をフェッチすることはできますが、Java と統合して変換を実行しようとすると、エラーがスローされます -
スレッド「メイン」での例外 org.pentaho.di.core.exception.KettleXMLException: XML ファイルからのオブジェクトの読み取り中にエラーが発生しました
XML ステップ nodeorg.pentaho.di.core.exception.KettleStepLoaderException からステップ情報をロードできません: ID [MongoDbInput] のステップ/プラグインのクラスをロードできません。Kettle ディストリビューションの plugins サブディレクトリでプラグインが利用可能かどうかを確認します。
ID [MongoDbInput] のステップ/プラグインのクラスをロードできません。Kettle ディストリビューションの plugins サブディレクトリでプラグインが利用可能かどうかを確認します。
私のコードは次のとおりです。
import java.io.IOException;
import java.util.List;
import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.util.EnvUtil;
import org.pentaho.di.trans.TransMeta;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.core.*;
import org.pentaho.di.core.exception.*;
public class KettleConnector {
public static void main(String[] args) throws KettleException, IOException{
KettleEnvironment.init(false);
EnvUtil.environmentInit();
TransMeta transMeta = new TransMeta("D:\\mangoes.ktr");
Trans trans = new Trans(transMeta);
trans.execute(null); // You can pass arguments instead of null.
trans.waitUntilFinished();
Result r = trans.getResult();
List<RowMetaAndData> rowsResult = r.getRows();
System.out.println(trans.getTransMeta());
if (trans.getErrors() > 0) {
throw new RuntimeException();
}
}
}
これは、mysql の変換では問題なく機能します。
mongo-2.4jar と mongo-java-driver-2.7.2.jar を含めました
まだこのエラーに直面しています。