このトピックでは、Simple Log Service Processing Language (SPL) の命令について説明します。
パラメーターの型
次の表に、SPL 命令で使用されるパラメーターの型を示します。
パラメーターの型 | 説明 |
Bool | ブール値パラメーター。 SPL を使用する場合、このパラメーターはスイッチとして機能します。 |
Char | ASCII 文字パラメーター。 シングルクォーテーション (') で囲む必要があります。 たとえば、 |
Integer | 整数パラメーター。 |
String | 文字列パラメーター。 シングルクォーテーション (') で囲む必要があります。 たとえば、 |
RegExp | RE2 正規表現パラメーター。 シングルクォーテーション (') で囲む必要があります。 たとえば、 構文の詳細については、「構文」をご参照ください。 |
JSONPath | JSON パスパラメーター。 シングルクォーテーション (') で囲む必要があります。 たとえば、 構文の詳細については、「JsonPath」をご参照ください。 |
Field | フィールド名パラメーター。 たとえば、 フィールド名に文字、数字、アンダースコア以外の特殊文字が含まれている場合は、フィールド名をダブルクォーテーション ("") で囲みます。 たとえば、 説明 フィールド名の大文字と小文字の区別の詳細については、「一般的なリファレンス」をご参照ください。 |
FieldPattern | フィールド名とワイルドカードの組み合わせ、またはフィールド名パラメーター。 ワイルドカード文字 (*) がサポートされており、0 個以上の文字に一致します。 ダブルクォーテーション ("") で囲む必要があります。 たとえば、 説明 フィールド名の大文字と小文字の区別の詳細については、「一般的なリファレンス」をご参照ください。 |
SPLExp | SPL 式パラメーター。 |
SQLExp | SQL 式パラメーター。 |
SPL 命令リスト
命令カテゴリ | 命令名 | 説明 | データ変換 | 書き込みプロセッサ | 消費プロセッサ | スキャンモード (SCAN) | Logtail コレクション |
制御命令 | 名前付きデータセットを定義します。 SPL データセットの詳細については、「一般的なリファレンス」をご参照ください。 | ||||||
フィールド操作命令 | 指定されたパターンに一致するフィールドを保持し、指定されたフィールドの名前を変更します。 実行中、すべてのフィールド保持式は名前変更式の前に処理されます。 | ||||||
指定されたパターンに一致するフィールドを削除し、他のすべてのフィールドを保持します。 | |||||||
指定されたフィールドの名前を変更し、他のすべてのフィールドを保持します。 | |||||||
指定されたフィールドの第 1 層の JSON オブジェクトを展開して、複数の結果を生成します。 | |||||||
構造化データ用の SQL 計算命令 | SQL 式の結果を計算して新しいフィールドを作成します。 サポートされている SQL 関数のリストについては、「SPL でサポートされている SQL 関数の一覧」をご参照ください。 | ||||||
SQL 式に基づいてデータをフィルター処理し、式に一致するデータエントリを保持します。 where 命令でサポートされている SQL 関数のリストについては、「SPL でサポートされている SQL 関数の一覧」をご参照ください。 | |||||||
半構造化データ抽出命令 | 指定されたフィールドから正規表現グループに一致する情報を抽出します。 | ||||||
指定されたフィールドから CSV 形式の情報を抽出します。 | |||||||
指定されたフィールドから第 1 層の JSON 情報を抽出します。 | |||||||
指定されたフィールドからキーと値のペアの情報を抽出します。 | |||||||
新しいデータ変換命令 | ログフィールドをパックし、JSON シリアル化を介して新しいフィールドに出力します。 この命令は、API リクエスト本文の構築など、構造化された送信を必要とするシナリオに適しています。 | ||||||
ログ形式をメトリックストレージ形式に変換します。 | |||||||
タグの追加、変更、削除など、既存のメトリックデータをさらに処理します。 | |||||||
集約命令 | ログの統計分析のための命令で、 | ||||||
クエリ結果をソートします。 フィールド値または統計結果を昇順 ( | |||||||
クエリ結果で返されるログ行の数を制限します。 これは、データ量を制御するためのコア命令です。 |
関数の概要
SPL 命令は、ほとんどの SQL 関数をサポートしています。 ただし、特定の関数の可用性と適用可能なシナリオについては、対応する関数のドキュメントで説明されています。
分類 | 説明 | 一般的な関数 |
ターゲットデータセットで要約計算を実行して、単一の統計結果を生成します。 | ||
検索、置換、部分文字列、連結、フォーマットなど、テキストデータを処理します。 | ||
ログの日付と時刻に対して、フォーマット変換、グループ化、集約を実行します。 | ||
抽出、変換、統計など、JSON オブジェクトを処理します。 | ||
パターンマッチングとテキスト処理。 | ||
時系列データの相対的な変化を計算します。 | ||
配列に対して、追加、削除、変更、クエリ、走査、変換を実行します。 | ||
キーと値のペアを操作します。 | ||
数値計算、丸め、乱数、三角関数など。 | ||
データ分布分析と数値計算。 | ||
データ型間の変換を処理します。 | ||
データウィンドウに基づいて集約またはソートします。 | ||
IP アドレスを解析および計算します。 | ||
URL 構造を解析します。 | ||
データを予測したり、欠損値を補完したりします。 | ||
バイナリデータ型を処理します。 | ||
バイナリビットを直接操作します。 | ||
空間ジオメトリを処理します。 | ||
地理的位置分析と地図計算。 | ||
色の表現と変換。 | ||
大規模なデータセットに対して統計処理を実行し、精度を犠牲にしてメモリを節約します。 | ||
パラメーターの大小関係を決定します。比較可能な任意のデータ型 (double、bigint、varchar、timestamp、date) に適用できます。 | ||
複数のブール条件を組み合わせて論理フローを制御します。 | ||
データサイズまたは時間間隔の単位を変換します。 | ||
ユーザーの行動、アプリのトラフィック、プロダクトの目標コンバージョン、その他のデータを分析します。 | ||
SQL 分析文および SPL 文でラムダ式を定義し、指定された関数に渡して関数の式を豊富にします。 | ||
条件分岐に基づいて異なる値を返します。 |