我想使用querydatabaserecord处理器对数据库表中的几个字段执行平均值。我的查询在mysql中运行良好,如下所示:
select TimeOfDay,
AVG(BMU_Debug_Pack_Blk_Volt_Delta),
AVG(BMU_Debug_Pack_CTemp_Min)
from tt8;
我所有的字段都是“double”类型,除了timeofday是“varchar(10)”。当我在字段上运行诸如avg/min等聚合函数时,会出现以下错误:
org.apache.nifi.processor.exception.ProcessException:
Error during database query or conversion of records to Avro
编写sql查询的正确方法是什么?它允许我执行聚合函数。谢谢您!
1条答案
按热度按时间chy5wohz1#
Alias
当处理器以avro格式输出数据时,我们需要对聚集的列进行别名以获得avro模式。此外,如您所述,您可以在mysql端运行上述查询,而无需添加groupby子句,因此,如果不起作用,请将所有未聚合的列添加到
group by
子句并再次执行查询