我有几个JSON对象通过QueryRecord处理器。我想从中提取一些属性,包括一些可选的属性。问题是选择可选属性会导致错误,说该列不在表中。
我尝试了一个使用**RPATH
**的解决方法,看起来像这样:
SELECT is_answered,
view_count,
answer_count,
score,
last_activity_date,
creation_date,
question_id,
title,
CASE
WHEN HAS_PATH(flowfile, '/last_edit_date') THEN
RPATH(flowfile, '/last_edit_date')
ELSE
NULL
END AS last_edit_date
FROM flowfile
字符串
在这种情况下,last_edit_date 是一个可选属性。然而,这会引发一个错误,即 flowfile 列不存在。我试图找到另一个解决方案,它不会在select语句中包含 flowfile,但我无法找到任何东西。如何解决这个问题的任何想法
1条答案
按热度按时间jckbn6z71#
QueryRecord的SQL部分使用FlowFile的内容,所以
HAS_PATH
在记录中查找该字段而不是属性。相反,使用表达式语言(可能是isEmpty()
函数)来生成查询的这一部分,可能类似于:字符串
我没有测试它,但它应该给予您如何使用表达式语言获取属性并将值注入查询的一般概念。