全部產品
Search
文件中心

Simple Log Service:查詢與分析日誌的常見報錯

更新時間:Jun 30, 2024

本文介紹查詢與分析日誌的常見報錯及對應的解決方案。

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

  • 報錯原因

    僅使用了分析語句。在Log Service中,分析語句必須與查詢語句一起使用,格式為查詢語句|分析語句

  • 解決方案

    在分析語句前加上查詢語句,例如* | 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欄位建立欄位索引,或者您所使用的欄位中包含了特殊字元(例如空格)但未使用雙引號("")包裹。

  • 解決方案

    1. 確認是否已為目標欄位建立欄位索引且開啟統計功能。

      • 如果是,請執行下一步。

      • 如果不是,請先為目標欄位建立欄位索引且開啟統計功能。具體操作,請參見手動建立欄位索引

        執行該操作後,如果問題解決,則無需執行下一步。

    2. 使用雙引號("")包裹目標欄位。

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個。在Log Service中,單個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個,超過Log Service所限制的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

  • 報錯原因

    系統內部錯誤。

  • 解決方案

    請重新整理頁面,重新執行查詢和分析語句。