创建流语法问题

【TDengine 使用环境】
生产环境 /测试/ Poc/预生产环境

测试环境

【TDengine 版本】

【操作系统以及版本】

3.3.8.1

【部署方式】容器/非容器部署

容器

【集群节点数】

【集群副本数】

【描述业务影响】

【问题复现路径/shan】做过哪些操作出现的问题

创建流语法错误

create stream if not exists lute_iot_device.t31_daily_stats_stream_min_max_avg_66667 interval(1d) sliding(1d)
from
lute_iot_device.product_property_3yhuya
partition by
tbname stream_options (watermark (2m) | fill_history (1)) into lute_iot_device.t31_daily_stats1112 output_subtable(concat(‘t31111_daily_’, lower(tbname))) (ts,uid composite key,calculate_time,window_end,avg_temperature,max_temperature,min_temperature) tags(
device_name varchar(64) as device_name
) as
select
_twstart as ts,
cast(_tlocaltime /1000000 as timestamp) as calculate_time,
_twend as window_end,
round(avg(temperature), 2) as avg_temperature,
max(
case
when identifier = ‘high_temperature_alarm’ then temperature
else null
end
) as max_temperature,
min(
case
when identifier = ‘low_temperature_alarm’ then temperature
else null
end
) as min_temperature,
uid
from
%%tbname
where
ts >= _twstart
and ts <= _twend
partition by
device_name,
uid;

【遇到的问题:问题现象及影响】

无法创建流

【资源配置】

【报错完整截图】

这个报错信息已经提示了,composite key 里有不支持的数据类型,根据你的具体需求,或者不把这些列作为 composite key,或者修改列的数据类型

我的uid是varchar类型的不知道为什么还提示这个错误,第二张截图的uid是varchar类型的

你的输出列顺序与计算语句是不匹配的,uid位置不对

好的这样是可以创建的