首页 > 代码库 > kettle HTTP client

kettle HTTP client

第一部分需要三个步骤:

  选择输入步骤,“生成记录”,将步骤里设置记录数为1,并设置一个类型为String的字段country(名字随便),这个字段的值应设置为我们要抽取数据的URL,如:

 技术分享

       然后,添加一个“HTTP 客户端”步骤,并把这两个步骤连起来。对于“HTTP 客户端”来说,选择“从字段中获取URL”(Accept URL from field)选项,并选择country作为URL的来源字段。

 技术分享技术分享

       选择文本文件输出,输入文件名称及所需扩展名,选择内容选项卡并根据需要修改,字段选项卡获取所需字段。

 技术分享技术分享技术分享

第二部分需要三个步骤:

   选择“json输入”,浏览并增加文件或路径,读取json文件中的内容:

 技术分享技术分享

 

       选择脚本中的“Java代码”,将解析出来的字段中需要修改或者添加的部分进行必要修改。

 技术分享

private static int count = 0;

 

public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException

{

    if (first){

      first = false;

    }

 

    Object[] r = getRow();

 

    if (r == null) {

      setOutputDone();

      return false;

    }

 

    // It is always safest to call createOutputRow() to ensure that your output row‘s Object[] is large

    // enough to handle any new fields you are creating in this step.

    r = createOutputRow(r, data.outputRowMeta.size());

   

    if(count== 0){

        String num_ID = "0";//get(Fields.In, "num_ID").getString(r);

        count = Integer.parseInt(num_ID);

    }

   

    get(Fields.In, "num_ID").setValue(r, ++count);

    // Send the row on to the next step.

    putRow(data.outputRowMeta, r);

 

    return true;

}

       最后,确认前面的步骤无误后,选择步骤表输出:

 技术分享

kettle HTTP client