Advertisement
Yudhizth

Elasticsearch Pentaho Data Integration Script

Oct 15th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. import java.util.*;
  2.  
  3.  
  4.  
  5. public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws Exception
  6. {
  7.     //RESTに渡す文字列
  8.     String body="";
  9.  
  10.     Object[] r = null;
  11.  
  12.     //データを纏める件数をここで調整
  13.     for(int i=0;i<10;i++){
  14.  
  15.         //一行すすめる
  16.          r=getRow();
  17.  
  18.          if (r==null)
  19.         {
  20.             break;
  21.         }
  22.  
  23.         String firstLine ="{ \"index\" : {} }\n";
  24.         String secondLine = "{"
  25.         +"\"nf\":\""+ get(Fields.In, "NF").getString(r) +"\","
  26.         +"\"sexe\":\""+ get(Fields.In, "SEXE").getString(r) +"\","
  27.         +"\"nom\":\""+  get(Fields.In, "NOM").getString(r) +"\","
  28.         +"\"cog1\":\""+ get(Fields.In, "COG1").getString(r) +"\","
  29.         +"\"cog2\":\""+ get(Fields.In, "COG2").getString(r) +"\""
  30.         //+"\"datn\":\""+ get(Fields.In, "DATN").getString(r) +"\","
  31.         +"}\n";
  32.  
  33.  
  34.         //取得したデータをbody(戻り値)に詰める
  35.         body+=firstLine+secondLine;
  36.  
  37.  
  38.     }
  39.    Object[] outputRowData = RowDataUtil.resizeArray(r, data.outputRowMeta.size());
  40.     int outputIndex = getInputRowMeta().size();
  41.  
  42.     //OutPutの3番めに値を追加(0スタート)
  43.    outputRowData[outputIndex++] =body;
  44.  
  45.   //行出力
  46.    putRow(data.outputRowMeta, outputRowData);
  47.  
  48.    if (r==null)
  49.    {
  50.     //処理を終了して次の処理へ進む
  51.     setOutputDone();
  52.     return false;
  53.    }
  54.    //継続
  55.    return true;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement