Apache nifi Nifi:由于SQL查询中的字符非法,无法执行ExecuteSQL

Apache nifi Nifi:由于SQL查询中的字符非法,无法执行ExecuteSQL,apache-nifi,Apache Nifi,我有一个NIFI流,它 ...->ExecuteSQL->CovertRecord->.. 在处理我的流时,它被困在ExecuteSQL处理器上。My ExecuteSQL运行类似以下内容的查询: select f_id,UDF_MD5('J=iDl47av=L'||foo||'%Xh)R/ljFrp') from bar 错误[计时器驱动的进程线程-10] o、 a.nifi.processors.standard.ExecuteSQL ExecuteSQL[id=5ea

我有一个NIFI流,它

...->ExecuteSQL->CovertRecord->..
在处理我的流时,它被困在ExecuteSQL处理器上。My ExecuteSQL运行类似以下内容的查询:

select f_id,UDF_MD5('J=iDl47av=L'||foo||'%Xh)R/ljFrp') from bar
错误[计时器驱动的进程线程-10] o、 a.nifi.processors.standard.ExecuteSQL ExecuteSQL[id=5ea0e2b3-0af5-3e47-6d53-964fe8cbf9f7] ExecuteSQL[id=5ea0e2b3-0af5-3e47-6d53-964fe8cbf9f7]无法处理 由于org.apache.avro.SchemaParseException导致的会话:非法字符 in:udf|u md5'J=iDl47av=L'| | foo |'%XhR/ljFrp'; 处理器管理性屈服1秒: org.apache.avro.SchemaParseException:中的非法字符: udf|u md5'J=iDl47av=L'|||foo|'%XhR/ljFrp' org.apache.avro.SchemaParseException:中的非法字符: udf|u md5'J=iDl47av=L'|||foo|'%XhR/ljFrp'


我相信这与udf_md5属性的Avro命名规范有关。我可以知道相同的解决方法吗?

尝试在ExecuteSQL中将Normalize Table/Column Names设置为true。

尝试在ExecuteSQL中将Normalize Table/Column Names设置为true。

尝试使用udf_md5函数列的别名,然后尝试再次运行查询

查询:


尝试使用udf_md5函数列的别名,然后再次尝试运行查询

查询:

select f_id,UDF_MD5('J=iDl47av=L'||foo||'%Xh)R/ljFrp') as udf_md from bar