本文介紹查詢與分析日志的常見報錯及對應的解決方法。
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
報錯原因
系統內部錯誤。
解決方法
請刷新頁面,重新執行查詢和分析語句。