すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:ログのクエリと分析時の一般的なエラー

最終更新日:May 30, 2025

このトピックでは、ログのクエリと分析時に報告される一般的なエラーとその解決策について説明します。

ログストア * が存在しません

  • エラーの説明

    クエリを実行しようとしているログストアが、現在のリージョンとプロジェクトに存在しません。

  • 原因

    • ログストアが削除されています。

    • ログストアが存在せず、別のプロジェクトにある可能性があります。

    • ログストアが存在せず、別のリージョンにある可能性があります。

  • 解決策

    クエリを実行しようとしているログストアが存在することを確認してください。

インデックス構成のないログストア

  • エラーの説明

    SQL 構文を使用していますが、ログストアにはインデックスが構成されていません。 SQL を使用するには、少なくとも 1 つのインデックスを構成する必要があります。

  • 原因

    クエリを実行しようとしているログストアにインデックスが構成されていません。

  • 解決策

    クエリを実行しようとしているログストアを確認し、少なくとも 1 つの列に対してインデックス構成が有効になっていることを確認してください。

キューに入れられたクエリが多すぎます

  • エラーの説明

    クエリを実行しようとしているログストアのインデックスフィールドのエイリアス間に競合があります。 SQL は、分析する特定の列を判断できません。

  • 説明

    Simple Log Service SQL の同時実行クォータは、ユーザープロジェクトレベルで分離されています。 同じプロジェクト内の複数の SQL リクエストが Simple Log Service サーバーに送信されます。 SQL が実行されている間、SQL 同時実行クォータを占有します。 SQL の実行が完了すると、割り当てられた SQL 同時実行クォータが返されます。ユーザープロジェクトの SQL 同時実行クォータは、通常 SQL モードの実行では 15、拡張 SQL モードの実行では 150 です。

  • 原因

    • 同時リクエスト数が多すぎます。

    • 単一の SQL リクエストのレイテンシが高くなっています。

    • ビジネスコードにおける SQL リクエストの再試行ロジックにより、多くのループ再試行が発生しています。

  • 解決策

    • リクエスト数を減らします。

    • 単一の SQL の実行レイテンシを削減するために SQL を最適化します。

    • 再試行ロジックにランダムな待機時間を追加して、無効な繰り返しのループ再試行を回避し、追加の同時リクエストの負荷を増加させないようにします。

重複する列の競合

  • エラーの説明

    クエリを実行しようとしているログストアのインデックスフィールドのエイリアス間に競合があります。 SQL は、分析する特定の列を判断できません。

  • 原因

    ログストアの列名が列のエイリアスとまったく同じです。

  • 解決策

    クエリを実行しようとしているログストアのインデックスキー列を確認し、命名の競合がないことを確認してください。

sts または ram によって拒否されました。操作:*

  • エラーの説明```

    現在の ID では、ログストアにアクセスする権限がありません。

  • 原因

    ログストアは現在の ID に対して承認されていません。

  • 解決策

    RAM 権限を確認し、現在の ID にログストアへの読み取り権限を付与します。 承認リソースの説明:

    action: log:GetLogStoreLogs, resource: acs:log:<region>:<uid>:project/<project>/logstore/<logstore>

ネストされた SQL を使用しています。最も内側の SQL で FROM LOGSTORE を指定してください

  • エラーの説明

    SQL でネストされたサブクエリを使用しています。最も内側のサブクエリでテーブル名を指定してください。

  • 説明

    ユーザーのクエリを簡素化するために、Simple Log Service は単一テーブルクエリを実行する際に、デフォルトで現在のログストアを FROM テーブルとして指定します。 現在のログストア名が test であると仮定すると、次の 3 つのクエリ文は同義です。

    • 文 1: FROM 句を省略できます。

    • 文 2: FROM log を使用して、現在のログストアを指定できます。

    • 文 3: クエリ対象のテーブルをログストア test として明示的に指定できます。

    ただし、サブクエリを含む複雑なクエリを実行する場合、Simple Log Service は各サブクエリのターゲットテーブルを推測できません。 したがって、サブクエリで FROM 句を手動で指定する必要があります。

  • 解決策

    • 現在のログストアをクエリする場合、定数文字列「FROM log」を直接使用して、FROM テーブルを現在のログストアとして指定できます。

    • または、クエリ対象のターゲットログストアの名前を明示的に指定することもできます。

IN 値とリスト項目は同じ型である必要があります: varchar

  • エラーの説明

    SQL 文に構文エラーがあります。 IN 句の値とリスト項目は同じデータ型 (varchar) である必要があります。

  • 原因

    IN 演算子を使用してクエリを実行する場合、指定された値とリスト項目のデータ型が一致しません。 たとえば、値は varchar 型で、リスト項目は整数型です。

  • 解決策

    IN 演算子の値とリスト項目が同じデータ型であることを確認します。 CAST 関数または CONVERT 関数を使用してデータ型を変換するか、クエリを実行する前に値とリスト項目の両方を同じデータ型に変換できます。 ログを書き込む際に、対応する列フィールドに同じデータ型を使用することをお勧めします。そうすることで、同様のエラーを回避できます。

関数 url_decode の予期しないパラメーター (bigint)。予期される値: url_decode(varchar(x))

  • エラーの説明

    SQL 文に構文エラーがあります。 SQL 関数を使用する場合、入力パラメーターの型が正しくありません。

  • 原因

    • 関数は文字列型のパラメーターを必要としますが、入力パラメーターの型は bigint です。

    • このタイプのエラーは、必ずしも url_decode ではなく、さまざまな関数で発生する可能性があります。 regexp_like でも発生する可能性があります。 エラーの原因は同じです。SQL 関数を使用する場合、入力パラメーターの型が正しくありません。

  • 解決策

    url_decode 関数に渡す前に、入力パラメーターを文字列型に変換します。 CAST 関数または CONVERT 関数を使用して bigint 型のパラメーターを文字列型のパラメーターに変換するか、関数を呼び出すときにパラメーターを引用符で囲んで文字列型に変換できます。 例:

    SELECT url_decode(CAST(bigint_param AS varchar(20))) -- CAST 関数を使用して bigint 型のパラメーターを文字列型に変換しますSELECT url_decode('123456789') -- パラメーターがリテラルの場合は、パラメーターを直接囲んで変換できます

繰り返し演算子のターゲットが指定されていません

  • エラーの説明

    繰り返し演算子のターゲットが指定されていません。

  • 原因

    これは正規表現のエラーである可能性があり、繰り返し演算子のターゲットが指定されていないことを示しています。 繰り返し演算子「()」は、先行する文字またはグループの 0 回以上の出現に一致するために使用されますが、繰り返しを適用するにはターゲットが必要です。 たとえば、「(a) *」は文字「a」の 0 回以上の出現を意味します。 「() *」のようにターゲットが指定されていない場合、正規表現エンジンは繰り返し演算子の適用方法を認識せず、このエラーが発生します。

  • 解決策

    正規表現の繰り返し演算子「()」に正しいターゲットがあるかどうかを確認し、必要な修正を行います。

SemiJoin 演算子のプローブ側では NULL 値は許可されていません。 詳細については、クエリプランをご参照ください。

  • エラーの説明

    SemiJoin のプローブ側では NULL 値は許可されていません。

  • 原因

    SemiJoin では、プローブ側に NULL 以外の値を表示することはできません。 そうしないと、SemiJoin を正しく実行できません。 これは、プローブテーブルの行レコードまたはサブクエリがクエリランタイム中に NULL 値を返したことが原因である可能性があります。

  • 解決策

    クエリプランを確認して、どのテーブルが NULL 値を返したかを判断します。 サブクエリが関係している場合は、サブクエリによって返される結果セットに NULL 値が含まれていないことを確認します。 外部テーブルの NULL 値が問題の原因である場合は、SemiJoin の代わりに INNER JOIN を使用するか、COALESCE 関数または ISNULL 関数を使用して NULL 値を処理することを検討してください。

配列の添え字が範囲外です

  • エラーの説明

    配列の添え字が範囲外です。

  • 原因

    配列の範囲外のインデックス位置にアクセスしようとしています。 たとえば、負のインデックスまたは配列の長さを超えるインデックスにアクセスしています。 これは、SQL のロジックが正しくないか、データ入力エラーが原因である可能性があります。

  • 解決策

    SQL では、配列のインデックス位置は 1 から始まります。 SQL で配列の有効な長さを確認し、配列のインデックス位置の参照を確認して、配列の添え字が範囲外でないことを確認します。

式 "*" の型は ROW ではありません

  • エラーの説明

    式「fields」の型は ROW ではありません。

  • 原因

    ROW 型を使用する場合、式「fields」は ROW 型の要件を満たしていません。 これは、ROW 関数を使用する場合にパラメーターが要件を満たしていないことが原因である可能性があります。

  • 解決策

    ROW 関数のパラメーターが正しいかどうか、およびパラメーター内のすべてのフィールドが存在し、要件を満たしているかどうかを確認します。 パラメーターが正しいにもかかわらず結果が ROW 型でない場合は、CAST 関数を使用して ROW 型に変換してみてください。

キーと値のデリミタは、各エントリに 1 回だけ出現する必要があります。 無効な入力: '*'

  • エラーの説明

    キーと値のデリミタは、各エントリに 1 回だけ出現する必要があります。

  • 原因

    入力のキーと値のペアにデリミタが複数回出現するか、まったく出現しないため、システムはキーと値のペアを解析できません。

  • 解決策```

    入力のキーと値のペアの形式が正しいかどうかを確認します。 各キーと値のペアにデリミタが 1 つだけあり、デリミタの両側に正しいキーと値があることを確認します。

パターンには # グループがあります。 グループにアクセスできません

  • エラーの説明

    正規表現は指定されたグループにアクセスできません。

  • 原因

    正規表現は 0 個のグループに一致したため、最初のグループにアクセスできません。 これは、正規表現でグループ化構文が使用されているが、グループが定義されていない場合に発生する可能性があります。 この場合、グループは存在しないためアクセスできません。

  • 解決策

    正規表現のグループ化構文を確認し、パターンに少なくとも 1 つのグループが定義されていることを確認します。 かっこ () を使用してグループを定義できます。 たとえば、文字列内のメールアドレスに一致させ、ユーザー名とドメイン名をグループに分離するには、次の正規表現を使用します: (w+)@(w+.w+)。 この例では、2 つのグループがあるため、group(1) と group(2) を使用してそれらの値にアクセスできます。 グループ化が不要な場合は、(?:w+)@(?:w+.w+) などの非キャプチャグループを使用します。 問題が解決しない場合は、オンライン正規表現チェッカーを使用してデバッグし、SQL で使用する前にパターンを確認します。

ts_compare はタイムスタンプでグループ化する必要があります。グループ化の型は bigint です

  • エラーの説明

    ts_compare 関数はタイムスタンプ型でグループ化する必要があります。

  • 原因

    SQL で ts_compare 関数を使用する場合、group by 句で使用される列が数値などのタイムスタンプ以外の型である可能性があります。

  • 解決策

    ts_compare 関数の group by 句で使用される列の型が正しいタイムスタンプ型であることを確認します。 from_unixtime などの関数を使用して、整数タイムスタンプをタイムスタンプ型に変換できます。

時間 # が指定された時間範囲外です

  • エラーの説明

    タイムスタンプが指定された時間範囲外です。

  • 原因

    SQL 文は、指定された時間範囲外のタイムスタンプを使用しています。 データ入力エラーまたはデータ型の不一致が原因である可能性があります。

  • 解決策

    タイムスタンプが正しいかどうかを確認します。 データ型の不一致が原因で問題が発生している場合は、関連するデータ型変換関数を使用してタイムスタンプを正しいデータ型に変換してみてください。

NULL 要素を持つフィールドでは行比較はサポートされていません

  • エラーの説明

    NULL 値を持つフィールドでは、ROW 比較はサポートされていません。

  • 原因

    SQL 文は、= 演算子または != 演算子を使用して比較するなど、NULL 値要素を含む ROW 型の比較演算を使用しています。

  • 解決策

    行比較を実行する前に、NULL 要素を含む ROW を処理する必要があります。IS NULL 演算子または IS NOT NULL 演算子を使用して NULL 値を除外するか、COALESCE 関数を使用して NULL 値を処理します。 ログデータの書き込みおよび処理プロセス中に NULL 要素を含む行を処理して、上記のエラーを回避します。

指定されたキーが存在しません。

  • エラーの説明

    これは通常、OSS を使用して外部テーブル結合クエリを実行し、OSS バケットにアクセスできない場合に発生します: 指定されたキーが存在しません。

  • 原因

    アクセスしている OSS バケットに指定されたオブジェクトが存在しません。 削除されたか、存在しなかった可能性があります。 間違った OSS バケットエンドポイントまたは間違ったオブジェクトキーを指定したことが原因である可能性があります。

  • 解決策

    • アクセスする OSS バケットとオブジェクトキーの名前を確認して、正しいことを確認します。

    • OSS に移動して、指定された OSS バケットに指定されたオブジェクトキーが存在するかどうかを確認します。

ページネーションを使用したデータの読み取りでは、最大で

  • エラーの説明

    ページネーションの最大行数は 1,000,000 行を超えることはできません。

  • 原因

    Simple Log Service SQL は、最大出力行数を 1,000,000 行に制限しています。 実行しているページネーション読み取りリクエストがこの制限を超えています。

  • 解決策

    • LIMIT 句を使用して、ページネーションの最大行数を 1,000,000 行以下に制限します。

    • クエリ範囲を絞り込んで、ページネーションの最大行数を 1,000,000 行以下に制限します。

    • スケジュール SQL サービスを使用して、ウィンドウで定期的に SQL 集約分析を実行し、集約結果に対して 2 次集約を実行します。

最適な候補演算子を選択できませんでした。 明示的な型キャストを追加する必要があります。

  • エラーの説明

    最適な候補演算子を選択できませんでした。 明示的な型キャストを追加する必要があります。

  • 原因

    これは通常、異なる型の変数間で算術演算または比較演算を実行しようとしており、システムがどの型の演算子を使用するかを自動的に判断できないために発生します。

  • 解決策

    明示的な型キャストを追加して、使用する演算子の型をシステムに指示します。

    たとえば、文字列型の変数と整数型の変数を追加しようとしている場合は、CAST 関数を使用して文字列型の変数を整数型に変換してから、加算演算を実行できます。 コード例:

    SELECT CAST('10' AS INTEGER) + 5;

    ここでは、CAST 関数を使用して文字列型の変数 '10' を整数型に変換し、整数型の変数 5 に追加します。 これにより、上記のエラーが回避されます。

関数 * が登録されていません

  • エラーの説明

    関数が存在しません。

  • 原因

    指定した関数は Simple Log Service SQL システムに存在しません。

    • 標準 SQL 関数ではなく、Simple Log Service SQL システムでは提供されていないデータベースベンダーの特定の関数を使用しました。

    • 関数名のスペルを間違えました。

  • 解決策

    関数名を確認し、Simple Log Service SQL によって提供される有効な関数であることを確認します。

SQL 配列のインデックスは 1 から始まります

  • エラーの説明

    SQL 配列のインデックス位置は 1 から始まります。

  • 原因

    SQL で配列のインデックス位置を使用する場合、0 からカウントを開始した可能性があります。

  • 解決策

    SQL 配列のインデックス位置は 1 からカウントを開始します。

インデックスは 0 より大きい必要があります

  • エラーの説明

    インデックス位置は 1 から始まります。

  • 原因

    SQL で配列のインデックス位置を使用する場合、無効な負の値または 0 を指定した可能性があります。

  • 解決策```

    SQL 配列のインデックス位置は 1 からカウントを開始します。

すべての COALESCE オペランドは同じ型である必要があります: *

  • エラーの説明

    COALESCE 関数のすべてのパラメーターは同じ型である必要があります。

  • 原因

    COALESCE 関数では、オペランドのデータ型が同じである必要があります。 そうしないと、データ型エラーが発生します。 このエラーでは、少なくとも 1 つのオペランドがブール型ですが、他のオペランドは数値や文字列など、異なるデータ型です。

  • 解決策

    COALESCE 関数の各オペランドを確認し、データ型が同じであることを確認します。 異なる場合は、データ型変換を実行して同じデータ型にします。 CAST 関数を使用してデータ型変換を実行できます。

サブクエリによって返される複数の列はまだサポートされていません

  • エラーの説明

    スカラークエリは複数の列の返却をサポートしていません。

  • 原因

    サブクエリで複数の列が選択されています。

  • 解決策

    サブクエリが 1 つの列または 1 つの値のみを返すようにします。 サブクエリまたはメインクエリを変更できます。 また、サブクエリの代わりに JOIN 文を使用して必要なデータを取得することもできます。

GROUP BY 句には集約関数またはウィンドウ関数は含められません: *

  • エラーの説明

    GROUP BY 句には集約関数またはウィンドウ関数は含められません。

  • 原因

    GROUP BY 句に集約関数またはウィンドウ関数が含まれています。

  • 解決策

    GROUP BY 句には、集約関数またはウィンドウ関数ではなく、列名のみを含めます。 集約関数とウィンドウ関数は、GROUP BY 句ではなく SELECT 文で使用してください。 GROUP BY 句で集約関数を使用する必要がある場合は、集約関数ではなく、列のエイリアスまたは数値インデックスを使用します。 たとえば、次のクエリを使用します。

    SELECT column1, column2, COUNT(column3) as count_column3
    FROM table
    GROUP BY column1, column2, 3

    このクエリでは、count_column3 は COUNT(column3) のエイリアスであり、3 は SELECT 文における COUNT(column3) の位置です。 数値インデックスを使用するとコードが理解しにくくなる場合があるため、列エイリアスを使用することをお勧めします。

WHERE 句には集約関数またはウィンドウ関数は含められません: *

  • エラーの説明

    WHERE 句には集約関数またはウィンドウ関数は含められません。

  • 原因

    WHERE 句に集約関数またはウィンドウ関数が含まれています。

  • 解決策

    WHERE 句には、集約関数またはウィンドウ関数ではなく、列名のみを含めます。 これらは、WHERE 句ではなく SELECT 文で使用してください。 WHERE 句で集約関数を使用する必要がある場合は、列のエイリアスを使用できます。

    たとえば、次のクエリを使用します。

    SELECT column1, column2, COUNT(column3) as count_column3
    FROM table
    WHERE count_column3 > 10

    count_column3 は COUNT(column3) のエイリアスであり、column3 の集約カウント結果を表します。

LIKE 式の左辺は varchar に評価される必要があります (実際は bigint)

  • エラーの説明

    LIKE 式の左辺は varchar 型である必要があります (実際は bigint)。

  • 原因

    このエラーは通常、LIKE 演算子を使用して bigint と varchar を比較しようとすると発生します。 LIKE 演算子では、式の両辺のデータ型が同じである必要があります。

  • 解決策

    CAST 関数を使用して bigint を varchar に変換する必要がある場合があります。

    SELECT * FROM table WHERE CAST(bigint_column AS varchar) LIKE 'pattern'

    これにより、bigint_column が varchar に変換され、LIKE 演算子で指定されたパターンと一致させることができます。

論理式の左辺はブール値に評価される必要があります (実際は varchar)

  • エラーの説明

    論理式の左辺はブール型である必要があります (実際は varchar)。

  • 原因```

    このエラーは通常、論理式を使用しようとしたときに、関係演算子 = または != の右辺がブール値 (true または false) であるにもかかわらず、左辺が varchar などのブール値以外である場合に発生します。

  • 解決策

    論理式の左辺の値の型を確認し、ブール値であることを確認します。

論理式の右辺はブール値に評価される必要があります (実際は bigint)

  • エラーの説明

    論理式の右辺はブール型である必要がありますが、実際は bigint です。

  • 原因

    このエラーは通常、論理式を使用しようとしたときに、論理式の右辺の変数の型がブール値ではない場合に発生します。

  • 解決策

    論理式の右辺の値の型を確認し、ブール値であることを確認する必要があります。

無効な JSON パス: ...

  • エラーの説明

    無効な JSON アクセスパス。

  • 原因

    SQL で JSON 関数 (json_extract、json_extract_scalar、json_size など) を使用して指定された JSON パスにアクセスするときに、無効なパスが指定されています。

  • 解決策

    • $.a.b の形式で json_path を正しく指定します。 ここで、$ は現在の JSON オブジェクトのルートノードを表し、ピリオド . は抽出するノードを表します (カスケードできます)。 ただし、JSON オブジェクトのフィールドに特殊文字 (.、スペース - など) がある場合 (たとえば、http.pathhttp pathhttp-path)、ピリオド . の代わりに角かっこ [] を使用し、フィールド名を二重引用符 "" で囲む必要があります。次に例を示します。

      * | SELECT json_extract_scalar(request, '$["X-Power-Open-App-Id"]')
    • 詳細については、「JSON 関数」および「JSON ログのクエリと分析に関する FAQ」をご参照ください。

最大個別数は 10 です。approx_distinct を使用してください

  • エラーの説明

    1 つのクエリで使用できる個別計算の最大数は 10 です。

  • 原因

    SQL で 10 を超える個別計算を使用しました。

  • 解決策

    • SQL で使用される個別計算の数を 10 未満に減らします。

    • distinct の代わりに approx_distinct を使用します。

マップにキーが存在しません

  • エラーの説明

    指定されたキーがマップに存在しません。

  • 原因

    SQL でマップ型を使用し、存在しないキーを指定しました。

  • 解決策

    • マップ型のデータを確認し、指定したキーがマップに存在することを確認します。

    • マップ型のデータにキーが存在しない場合は、try 関数を使用してマップアクセスをラップし、エラーを無視します。次に例を示します。

      SELECT try(map['name']) -- map はマップ型の列です。 'name' という名前のキーが列に存在しない場合は、NULL が返されます。

1 行目:44: 列 'XXX' を解決できません。インデックス属性に列を追加してください

  • 原因

    XXX フィールドにインデックスが構成されていません。

  • 解決策

    ターゲットフィールドにインデックスを構成し、ログ分析機能を有効にします。 詳細については、「インデックスの作成」をご参照ください。

エラータイプ:QueryParseError。エラーメッセージ:構文エラー エラー位置は 10 列目から 11 列目です。エラーは < : > 付近です

  • 原因

    クエリ文の構文が無効です。 無効な構文の位置はコロン : 付近です。

  • 解決策

    クエリ文を修正して、再実行します。

列 'XXX' が GROUP BY 句にありません。インデックス属性に列を追加してください

  • 原因

    SQL 文で GROUP BY 句を使用する場合、システムは GROUP BY 句に含まれる列のみをクエリするか、システムが SELECT 文を実行するときに任意の列で集約を実行できます。 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 クエリは検索クエリに従う必要があります。構文ドキュメントをお読みください

  • 原因

    分析ステートメントのみが指定されています。 Simple Log Service では、分析ステートメントはクエリステートメントと組み合わせて使用する必要があります。 形式は クエリステートメント | 分析ステートメント です。

  • 解決策

    分析ステートメントの前にクエリステートメントを追加します。 たとえば、* | SELECT status, count(*) AS PV GROUP BY status です。 詳細については、「構文」をご参照ください。

1 行目:10: 識別子は数字で始めることはできません。識別子を二重引用符で囲みます

  • 原因

    分析ステートメントで指定されている列名または変数名が数字で始まっているため、分析ステートメントの構文が無効です。 SQL 標準に準拠して、列名には文字、数字、アンダースコア _ を含めることができ、文字で始める必要があります。

  • 解決策

    エイリアスを変更します。 詳細については、「列エイリアス」をご参照ください。

1 行目:9: 余分な入力 '' が予期されています

  • 原因

    クエリ文に余分な二重引用符が指定されています。

  • 解決策

    クエリ文を修正して、再実行します。

: の後のエラー。エラーの詳細: : の後のエラー。エラーの詳細: 1 行目:147: 一致しない入力 'in'。予期される値: {<EOF>, 'GROUP', 'ORDER', 'HAVING', 'LIMIT', 'OR', 'AND', 'UNION', 'EXCEPT', 'INTERSECT'}

  • 原因

    無効なキーワード in が指定されています。

  • 解決策

    1. フィールドにフィールド インデックスが設定されているかどうか、およびフィールドのログ分析機能が有効になっているかどうかを確認します。

      • 設定されている場合は、次のステップに進みます。

      • 設定されていない場合は、フィールド インデックスを設定し、フィールドのログ分析機能を有効にします。詳細については、「インデックスを作成する」をご参照ください。

        問題が解決した場合は、次のステップをスキップします。

    2. フィールドを二重引用符 "" で囲みます。

クエリが最大メモリサイズ 3 GB を超過しました

  • 原因

    クエリ文のメモリ使用量が 3 GB を超過しました。このエラーは、GROUP BY 句を使用して重複を削除した後に、クエリおよび分析結果で多くの値が返されるために発生します。

  • 解決策

    GROUP BY 句を最適化します。 GROUP BY 句で指定されているフィールドの数を減らします。

エラータイプ: ColumnNotExists。エラー位置、行: 0、列: 1。エラーメッセージ: 行 1:123: 列 'XXX' を解決できません。XXX は ";" で囲まれているようです。XXX がキーフィールドではなく文字列である場合は、'XXX' を使用してください

  • 原因

    XXX はインデックス付きフィールドではないため、二重引用符 "" で囲むことはできません。分析ステートメントで文字列を使用する場合は、文字列を一重引用符 '' で囲む必要があります。囲まれていない文字列、または二重引用符 "" で囲まれた文字列は、フィールド名または列名を示します。

  • 解決策

    • XXX が分析対象のフィールドである場合は、インデックスを設定し、そのフィールドのログ分析機能を有効にしていることを確認してください。詳細については、「インデックスを作成する」をご参照ください。

    • XXX が文字列の場合は、文字列を一重引用符 '' で囲む必要があります。

ユーザーは 15 クエリまでしか同時実行できません

  • 原因

    15 を超える分析操作が同時に実行されています。各プロジェクトは最大 15 の同時分析操作をサポートしています。

  • 解決策

    ビジネス要件に基づいて、同時分析操作の数を減らしてください。

閉じられていない文字列引用符

  • 原因

    クエリおよび分析文の二重引用符 " が一致していません。

  • 解決策

    クエリ文を修正して、再実行してください。

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

  • 原因

    無効なキーワード in が指定されています。

  • 解決策

    クエリ文を修正して、再実行してください。

重複キー (XXX) は許可されていません

  • 原因

    フィールドに重複するインデックスが構成されています。

  • 解決策

    インデックス構成を確認します。詳細については、「インデックスを作成する」をご参照ください。

クエリの中間または末尾でのみ * または ? をサポート

  • 原因

    あいまい検索を実行するときに、ワイルドカード文字が予期された位置で使用されていません。

  • 解決策

    クエリ文のワイルドカード文字を変更します。次のルールが適用されます。

    • キーワードの中間または末尾に、ワイルドカード文字としてアスタリスク * または疑問符 ? を追加して、あいまい検索を実行できます。

    • 単語の先頭にアスタリスク * または疑問符 ? を追加することはできません。

    • long データ型と double データ型は、あいまい検索でアスタリスク * または疑問符 ? をサポートしていません。

ログストア (xxx) が見つかりません

  • 原因

    XXX ログストアが存在しないか、インデックスが構成されていません。

  • 解決策

    ログストアが存在するかどうかを確認します。 存在する場合は、少なくとも 1 つのフィールドにインデックスを構成し、ログ分析機能を有効にする必要があります。

条件番号 43 は 30 を超えています

  • 原因

    検索文に指定されているフィールド数は 43 です。検索文には最大 30 のフィールドを指定できます。

  • 解決策

    検索文を変更し、フィールド数が 30 以下になるようにしてください。

エラータイプ: SyntaxError。エラー位置、行: 1、列: 19。エラーメッセージ: 行 1:19: 式 "data" は ROW 型ではありません

  • 原因

    クエリ文で指定されているフィールドのデータ型が無効です。

  • 解決策

    ROW 関数のパラメーターが正しいかどうか、およびパラメーター内のすべてのフィールドが存在し、要件を満たしているかどうかを確認します。パラメーターが正しいのに結果がまだ ROW 型でない場合は、CAST 関数を使用して ROW 型に変換してみてください。

エラータイプ: SyntaxError。エラー位置、行: 1、列: 9。エラーメッセージ: 行 1:9: 識別子に ':' を含めることはできません

  • 原因

    分析対象のフィールドにコロン : が含まれています。

  • 解決策

    フィールドを二重引用符 "" で囲みます。たとえば、__tag__:__receive_time__ フィールドを分析する場合は、*| select "__tag__:__receive_time__" ステートメントを使用します。

    重要

    フィールドを分析する前に、フィールドのインデックスを作成する必要があります。詳細については、「インデックスを作成する」をご参照ください。

クエリを実行できるノードがありません

  • 原因

    内部システムエラーです。

  • 解決策

    ページを更新し、クエリと分析ステートメントを再度実行してください。