Log Insights QL转OpenSearch SQL语法错误求助
修正后的OpenSearch SQL语句
针对你提供的Log Insights QL转换需求,以下是修正后的OpenSearch SQL语句:
SELECT DATE_HISTOGRAM(field => '@timestamp', interval => '1s') AS time_bucket, AVG(POW( jointStates.jointVariables.posSi[0] - jointStatesRef.jointVariables.posSi[0], 2 )) AS j0_pos_err FROM `simulation-telemetry` GROUP BY time_bucket ORDER BY time_bucket;
关键修正说明
- 索引名处理:索引名
simulation-telemetry包含连字符,必须用反引号(`)包裹,避免被解析为语法符号 - DATE_HISTOGRAM语法:OpenSearch SQL标准语法要求使用
field =>和interval =>的参数形式,部分版本也支持DATE_HISTOGRAM(@timestamp, INTERVAL 1 SECOND)的写法,可根据你的OpenSearch版本调整 - 嵌套字段访问:如果
posSi是数组类型,直接使用posSi[0]访问第一个元素;如果是键名为数字的对象,可使用posSi.0``(反引号包裹数字键名)替代posSi['0'],避免语法歧义 - GROUP BY优化:无需重复调用DATE_HISTOGRAM,直接使用SELECT中定义的别名
time_bucket即可,提升语句可读性
内容的提问来源于stack exchange,提问作者raaj
相关产品推荐
相关产品推荐

