首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NiFi:在ExecuteSQL处理器中引用FlowFile内容

NiFi:在ExecuteSQL处理器中引用FlowFile内容
EN

Stack Overflow用户
提问于 2019-04-18 18:01:34
回答 1查看 409关注 0票数 0

是否可以在后续的ExecuteSQL处理器中引用FlowFile的内容?

例如:

  • 我使用GenerateTableFetchExecuteSQL来轮询数据库表。
  • 接下来,我使用QueryRecord来转换结果--特别是使用MAX()GROUP BY操作,因为我不能在GenerateTableFetch处理器上使用这个操作符。

代码语言:javascript
复制
SELECT
    hu_id
    ,wh_id
    ,MAX(audit_timestamp) AS "newest_timestamp"
FROM FLOWFILE
GROUP BY
    hu_id
    ,wh_id
  • 我希望能够使用另一个ExecuteSQL来做以下事情:

代码语言:javascript
复制
SELECT
    FLOWFILE.hu_id
    ,FLOWFILE.wh_id
    ,FLOWFILE.newest_timestamp
    ,hum.status
    ,hum.location_id
FROM FLOWFILE
INNER JOIN AAD.dbo.t_hu_master hum ON
    FLOWFILE.hu_id = hum.hu_id
    AND FLOWFILE.wh_id = hum.wh_id

..。有效地引用Avro FlowFile内容来执行多连接。

如果这是不可能的,那么有一个优雅的解决办法吗?,到目前为止,我唯一能想到的解决方案是.

  1. SplitAvro
  2. ConvertAvroToJSON
  3. EvaluateJSONPath
  4. ReplaceText (用wh_idhu_id创建一组单独的SELECT语句),然后.
  5. ExecuteSQL

任何想法或见解都是值得赞赏的!

EN

回答 1

Stack Overflow用户

发布于 2019-04-18 18:38:18

在即将发布的1.10.0版本中,您将能够使用LookupRecord和新的DatabaseRecordLookupService (参见NIFI-6082)从数据库中进行查找,这有效地完成了一个联接。同时,我认为您需要类似于您所拥有的东西,或者需要一个脚本处理器(请参阅ExecuteGroovyScript的附加详细信息页面)来自己进行查找。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55751508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档