在NIFI中从HTTP响应中删除第一行

时间:2017-12-29 22:05:04

标签: apache-nifi

我目前正致力于使用InvokeHTTP处理器将HTTP端点提取到HDFS中。我的HTTP端点是:http://www.cbioportal.org/webservice.do?cmd=getMutationData&case_set_id=gbm_tcga_all&genetic_profile_id=gbm_tcga_mutations&gene_list=TP53+PIK3CA

正如您可能注意到的,我想削减第一行然后进入HDFS。 我查看了InvokeHTTP的属性,但没有删除标题行等功能。 我想知道什么是处理此类案件的最有效方法。

2 个答案:

答案 0 :(得分:2)

您可以使用SplitTextMergeContent

的序列

但最有效的将是脚本,IHMO。

ExecuteScript(groovy)

def ff=session.get()
if(!ff)return
ff = session.write(ff, {rawIn, rawOut->
    rawOut.withWriter("UTF-8"){writer->
        rawIn.eachLine("UTF-8"){line,index->
            if(index>1)writer.append(line).append('\n')
        }
    }
} as StreamCallback)
session.transfer(ff, REL_SUCCESS)

答案 1 :(得分:0)

删除任何FlowFile内容第一行的最快方法是使用ExecuteStreamCommand processsor通过linux命令'sed 1d'运行它。 ExecuteStreamCommand for sed 1d in NiFi-1.2.0