我正在嘗試創建一個Kettle轉換來填充部署在heroku上的Spark Java(sparkjava.com)服務器,而不是手動插入數據。在服務器端的代碼來走的路線上POST請求照顧「/插入」如下:如何使用Pentaho的HTTP Post步驟和Spark Java
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生成的請求甚至不會到達服務器。下面是我放在那裏的參數:
任何人都可以請賜教,或者告訴我其他的方式來填充服務器,請按照上述限制?
當你在Pentahoo之外調用「/ insert」路由時(或許用[cURL](https://curl.haxx.se)或其他東西)會發生什麼? – codefinger