データを手動で挿入する代わりに、Heroku にデプロイされた Spark Java (sparkjava.com) サーバーにデータを入力する Kettle 変換を作成しようとしています。ルート「/insert」で Post リクエストを処理するサーバー側のコードは次のとおりです。
post("/insert", (req, repl) -> {
String json=new String(req.bodyAsBytes());
/*Some processing...*/
MyRecordList myRL=MyRecordList.fromJsonString(json);
for (MyRecord mr : myRL.getRecords()) {
Instance inst = mr.toWekaInstance(trainset);
trainset.add(inst);
}
return "ok";
});
これで、本体全体が MyRecordList オブジェクトの JSON になると思います。
Pentaho 側には HTTP Post ステップがあり、場所の定義は簡単です。ただし、投稿リクエストの本文全体としてJSON文字列を指定してサーバーに送信する方法に固執しています。Heroku のログによると、Pentaho によって生成されたリクエストはサーバーに到達しません。私がそこに置いたパラメータは次のとおりです。
上記の制限に従って、誰かが私を啓発したり、サーバーにデータを追加する他の方法を教えてくれたりできますか?