本文介绍查询与分析日志的常见报错及对应的解决方法。
line 1:44: Column 'XXX' cannot be resolved;please add the column in the index attribute
报错原因
未对XXX字段建立索引。
解决方法
为目标字段设置索引,并开启统计功能。具体操作,请参见创建索引。
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
报错原因
在SQL语句中,如果您使用了GROUP BY子句,则在执行SELECT语句时,只能选择GROUP BY的列或者对任意列进行聚合计算,不允许选择非GROUP BY的列。例如
* | SELECT status, request_time, COUNT(*) AS PV GROUP BY status
为非法分析语句,因为request_time不是GROUP BY的列。解决方法
修改查询和分析语句,然后重新执行。例如上述示例的正确语句为
* | SELECT status, arbitrary(request_time), count(*) AS PV GROUP BY status
。更多信息,请参见GROUP BY子句。
sql query must follow search query,please read syntax doc
报错原因
仅使用了分析语句。在日志服务中,分析语句必须与查询语句一起使用,格式为
查询语句|分析语句
。解决方法
在分析语句前加上查询语句,例如
* | SELECT status, count(*) AS PV GROUP BY status
。更多信息,请参见基础语法。
line 1:10: identifiers must not start with a digit; surround the identifier with double quotes
报错原因
分析语句中的列名、变量名等以数字开头,不符合规范。在SQL标准中,列名必须由字母、数字和下划线(_)组成,且以字母开头。
解决方法
更改别名。如何修改,请参见列的别名。
line 1:9: extraneous input ‘’ expecting
报错原因
输入了多余的中文引号。
解决方法
检查及修改查询和分析语句,然后重新执行。
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
报错原因
当前查询和分析语句所使用服务端的内存超过3 GB。该问题通常是因为使用GROUP BY子句去重后,值太多导致的。
解决方法
优化GROUP BY子句,减少GROUP BY子句中字段的个数。
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不是索引字段,不能使用双引号("")包裹。在分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。
解决方法
如果XXX为分析字段,您需要为该字段配置索引,并开启统计功能。具体操作,请参见创建索引。
如果XXX为普通字符串,需要使用单引号('')包裹。
user can only run 15 query concurrently
报错原因
分析操作并发数超过了15个。在日志服务中,单个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'}
报错原因
输入了错误的关键词in。
解决方法
检查及修改查询和分析语句,然后重新执行。
Duplicate keys (XXX) are not allowed
报错原因
建立索引时,为字段配置了重复的索引。
解决方法
检查您的索引配置。具体操作,请参见创建索引。
only support * or ? in the middle or end of the query
报错原因
使用模糊查询时,未正确使用通配符。
解决方法
修改查询和分析语句中的通配符。相关说明如下:
支持在词的中间或者末尾加上模糊查询关键字,即星号(*)或问号(?)。
星号(*)或问号(?)不能用在词的开头。
long数据类型和double数据类型不支持使用星号(*)或问号(?)进行模糊查询。
logstore (xxx) is not found
报错原因
日志库XXX不存在或未配置索引。
解决方法
请检查对应的日志库是否存在。如果存在,请确保至少存在一个字段索引且开启统计功能。
condition number 43 is more than 30
报错原因
您在查询语句中使用的字段数为43个,超过日志服务所限制的30个。
解决方法
请修改查询语句,将字段数量控制在30个以内。
ErrorType:SyntaxError.ErrorPosition,line:1,column:19.ErrorMessage:line 1:19: Expression "data" is not of type ROW
报错原因
查询和分析语句中所使用的字段的数据类型错误。
解决方法
检查及修改查询和分析语句,然后重新执行。
ErrorType:SyntaxError.ErrorPosition,line:1,column:9.ErrorMessage:line 1:9: identifiers must not contain ':'
报错原因
您所分析的字段中包含了半角冒号(:)。
解决方法
使用半角双引号("")包裹字段。例如您要分析
__tag__:__receive_time__
字段,可使用语句*| select "__tag__:__receive_time__"
。重要在分析字段前,必须先创建字段索引。具体操作,请参见手动创建字段索引。
No nodes available to run query
报错原因
系统内部错误。
解决方法
请刷新页面,重新执行查询和分析语句。