Apache Nifi 如何从流文件内容创建逗号分隔的值列表
Apache Nifi How to create comma seperated list of values from flowfile content
使用 Apache Nifi
我想通过从流文件内容中提取主键值来创建一个批处理值列表。
- GETHDFS
- 拆分内容
- ROUTEONATTRIBUTE(由于代码问题只过滤掉小于1.01字节的文件,不要介意这一步)
- 产生内容的EVALUATEJSONPATH:
{"hist_idn":12345678,"文件名":"Retry_Spark_HIST_IDN_12345678_I","reprocess_status":"N","reprocess_date":"2019-07-19 10:19:18"}
- 从这里我需要帮助,我的目标是创建一个逗号分隔的列表 hist_idn,然后使用以下命令将其输入到 executesql 中:
select * 来自 History_table where hist_idn in (nifi generated comma separated list)
如有任何帮助,我们将不胜感激。
@chris fowler 下一步需要根据 #4 中的内容评估 JsonPath。或者调整#4 以获得 $.hist_idn 直接假设它是较大父对象 json 的子对象。一旦 hist_idn 是一个属性,您就可以在下游进行组合。如果您在#4 中获得多行,我建议使用记录 reader 查询 json 以获取您要发送到下游的所有 hist_idn 值。
使用 Apache Nifi 我想通过从流文件内容中提取主键值来创建一个批处理值列表。
- GETHDFS
- 拆分内容
- ROUTEONATTRIBUTE(由于代码问题只过滤掉小于1.01字节的文件,不要介意这一步)
- 产生内容的EVALUATEJSONPATH: {"hist_idn":12345678,"文件名":"Retry_Spark_HIST_IDN_12345678_I","reprocess_status":"N","reprocess_date":"2019-07-19 10:19:18"}
- 从这里我需要帮助,我的目标是创建一个逗号分隔的列表 hist_idn,然后使用以下命令将其输入到 executesql 中: select * 来自 History_table where hist_idn in (nifi generated comma separated list)
如有任何帮助,我们将不胜感激。
@chris fowler 下一步需要根据 #4 中的内容评估 JsonPath。或者调整#4 以获得 $.hist_idn 直接假设它是较大父对象 json 的子对象。一旦 hist_idn 是一个属性,您就可以在下游进行组合。如果您在#4 中获得多行,我建议使用记录 reader 查询 json 以获取您要发送到下游的所有 hist_idn 值。