概述

本文主要介绍在日志服务控制台中,日志查询常见报错及其对应的解决方法。

详细信息

报错信息

报错原因

处理方式

line 1:44: Column 'XXX' cannot be resolved;please add the column in the index attribute

索引字段XXX不存在,所以您在查询语句中无法引用该Key。

请在查询分析属性中为该字段设置索引,详细说明请参见开启并配置索引,同时打开统计功能。

ErrorType:QueryParseError.ErrorMessage:syntax error error position is from column:10 to column:11,error near < : >

查询或分析语句中存在多余的冒号(:)。

请将查询或分析语句中多余的冒号(:)删除,然后重新执行查询语句。

Column 'XXX' not in GROUP BY clause;please add the column in the index attribute

您在查询中使用了GROUP BY语法,但是在Select中引用了一个没有出现在GROUP BY中的字段。例如select key1, avg(latency) group by key2 ,key1没有出现在GROUP BY中。

正确的语法是将select需要引用的字段添加到GROUP BY分组中,如下所示:

select key1,avg(latency) group by key1,key2;

sql query must follow search query,please read syntax doc

查询语句的格式异常。

问题语句select ip,count(*) group by ip,正确的写法为*|select ip,count(*) group by ip

line 1:10: identifiers must not start with a digit; surround the identifier with double quotes

SQL中引用的列名、变量名等不能以数字开头。

请更改该名称,以字母开头。

line 1:9: extraneous input ‘’ expecting

SQL编写错误。

请根据报错中指出的错误位置,修改正确。

key (XXX) is not config as key value config,if symbol : is in your log,please wrap : with quotation mark "

XXX字段未配置字段索引,不能在分析语句中使用。

请在查询分析属性中为该字段设置索引,详细说明请参见开启并配置索引

Query exceeded max memory size of 3GB

当前查询语句使用的服务端内存超过3GB。该问题通常是因为使用GROUP BY语法去重后值太多导致。 请优化GROUP BY的查询语法,减少GROUP BY的Key的个数。

ErrorType:ColumnNotExists.ErrorPosition,line:0,column:1.ErrorMessage:line 1:123: Column 'XXX' cannot be resolved; it seems XXX is wrapper by ";if XXX is a string ,not a key field, please use 'XXX'

XXX不是索引字段,SQL中用双引号(")括起来表示的是索引字段,如果您是想表示字符串,请使用单引号(')。

如果您一定要引用该字段,请确保索引字段存在,并已开启统计:

日志服务控制台添加该字段为字段索引,详细操作请参见开启并配置索引,同时打开统计功能。

说明:如果您确认是表示字符串,请将双引号替换成单引号。

user can only run 15 query concurrently

目前,单用户单Project内只允许15个并发查询请求,您超过了限制。

请您合理控制查询并发度。

unclosed string quote

查询请求中"(双引号)未成对出现,即查询语句中少写了”。

请检查查询语句,找出未成对的"(双引号),修正后重新发起查询即可。

error after :.error detail:error after :.error detail:line 1:147: mismatched input 'in' expecting {<EOF>, 'GROUP', 'ORDER', 'HAVING', 'LIMIT', 'OR', 'AND', 'UNION', 'EXCEPT', 'INTERSECT'}

SQL查询语法错误。

请根据执行SQL的错误提示进行修正后重新发起查询。

Duplicate keys (XXX) are not
allowed

建立索引字段时,不区分大小写,如果已经建立了aBc字段索引,当您建立abc字段索引时,会返回该错误。

索引字段不区分大小写,需要您排查是否有类似情况。

only support * or ? in the middle or end of the query

模糊查询支持前缀匹配,目前仅支持*和?的通配符。

如果不满足查询需求,可以考虑利用SQL的模糊查询(LIKE)进行更定制化的查询,例如:不能使用Msg: *xxx后缀查询命令匹配后缀是XXX的Msg。但是,我们可以使用如下SQL LIKE实现:

Msg: * | SELECT Msg WHERE Msg LIKE '%xxx'

logstore (xxx) is not found

日志库XXX不存在或可能未开启索引统计。

请检查对应的日志库是否存在,如果存在,请确保日志库已开启统计,并至少存在一列索引字段。

condition number 43 is more than 30

用户单次查询引用的字段数最多为30个。

请调整查询请求,将引用字段数量控制在30个以内,修正后重新发起查询即可。

适用于

  • 日志服务