SPL は、フィールド操作、データ抽出、フィルタリング、集計、データ変換のための命令を提供します。各命令は、データ変換、インジェストプロセッサー、コンシューマープロセッサー、スキャンモード、Logtail 収集などの特定の処理シナリオに対応しています。
パラメータータイプ
SPL 命令は、次のパラメータータイプを使用します。
|
パラメータータイプ |
説明 |
|
Bool |
SPL でスイッチとして機能するブールパラメーターです。 |
|
Char |
単一引用符 ('') で囲まれた ASCII 文字パラメーターです。例: |
|
Integer |
整数パラメーターです。 |
|
String |
単一引用符 ('') で囲まれた文字列パラメーターです。例: |
|
RegExp |
単一引用符 ('') で囲まれた RE2 正規表現パラメーターです。例: RE2 構文の詳細については、Syntax をご参照ください。 |
|
JSONPath |
単一引用符 ('') で囲まれた JSON パスパラメーターです。例: JSONPath 構文の詳細については、JsonPath をご参照ください。 |
|
Field |
フィールド名パラメーターです。例: 特殊文字 (英字、数字、アンダースコア以外) を含むフィールド名は、二重引用符 ("") で囲みます。例: 説明
フィールド名の大文字と小文字の区別に関するルールについては、General reference をご参照ください。 |
|
FieldPattern |
フィールド名またはワイルドカードパターンです。ワイルドカード (*) は、0 個以上の文字と一致します。パターンは二重引用符 ("") で囲みます。例: 説明
フィールド名の大文字と小文字の区別に関するルールについては、General reference をご参照ください。 |
|
SPLExp |
SPL 式パラメーターです。 |
|
SQLExp |
SQL 式パラメーターです。 |
SPL コマンドリスト
|
命令カテゴリ |
命令名 |
説明 |
データ変換 |
インジェストプロセッサー |
コンシューマープロセッサー |
スキャンモード (SCAN) |
Logtail 収集 |
|
制御命令 |
名前付きデータセットを定義します。SPL データセットの詳細については、「General reference」をご参照ください。 |
サポート |
非サポート |
非サポート |
サポート |
非サポート |
|
|
フィールド操作命令 |
指定したパターンに一致するフィールドを保持し、指定したフィールドの名前を変更します。フィールド保持式は、名前変更式より先に処理されます。 |
サポート |
サポート |
サポート |
サポート |
サポート |
|
|
指定したパターンに一致するフィールドを削除し、それ以外のすべてのフィールドを保持します。 |
サポート |
サポート |
サポート |
サポート |
サポート |
||
|
指定したフィールドの名前を変更し、それ以外のすべてのフィールドを保持します。 |
サポート |
サポート |
サポート |
サポート |
サポート |
||
|
指定したフィールドの最上位 JSON オブジェクトを、複数の結果に展開します。 |
サポート |
非サポート |
サポート |
非サポート |
非サポート |
||
|
構造化データ向けSQL計算命令 |
SQL 式の結果から新しいフィールドを作成します。サポートされている SQL 関数については、「List of SQL functions supported by SPL」をご参照ください。 |
サポート |
サポート |
サポート |
サポート |
サポート |
|
|
SQL 式でデータをフィルタリングし、一致するエントリを保持します。サポートされている SQL 関数については、「List of SQL functions supported by SPL」をご参照ください。 |
サポート |
サポート |
サポート |
サポート |
サポート |
||
|
半構造化データ抽出命令 |
指定したフィールドから、正規表現グループに一致する情報を抽出します。 |
サポート |
サポート |
サポート |
サポート |
サポート |
|
|
指定したフィールドから CSV 形式の情報を抽出します。 |
サポート |
サポート |
サポート |
サポート |
サポート |
||
|
指定したフィールドから、最上位の JSON フィールドを抽出します。 |
サポート |
サポート |
サポート |
サポート |
サポート |
||
|
指定したフィールドから、キーと値のペアの情報を抽出します。 |
サポート |
サポート |
サポート |
サポート |
サポート |
||
|
新しいデータ変換命令 |
JSON シリアル化を使用して、ログフィールドを新しいフィールドにパックします。API リクエストボディの作成など、構造化された送信シナリオに適しています。 |
サポート |
非サポート |
サポート |
サポート |
非サポート |
|
|
ログ形式を時系列ストレージ形式に変換します。 |
サポート |
非サポート |
非サポート |
非サポート |
非サポート |
||
|
既存のメトリックデータを処理します。たとえば、タグを追加、変更、削除します。 |
サポート |
非サポート |
非サポート |
非サポート |
非サポート |
||
|
集計命令 |
ログフィールドに対して、 |
非サポート |
非サポート |
非サポート |
サポート |
非サポート |
|
|
クエリ結果を、フィールド値または統計結果に基づいて、昇順 ( |
非サポート |
非サポート |
非サポート |
サポート |
非サポート |
||
|
クエリ結果で返されるログ行数を制限します。 |
非サポート |
非サポート |
非サポート |
サポート |
非サポート |
機能の概要
SPL は、ほとんどの SQL 関数をサポートしています。各関数の可用性と適用シナリオは、それぞれのドキュメントに記載されています。
カテゴリ | 説明 | 一般的な関数 |
入力値のセットから単一の結果を計算します。 | ||
部分文字列の検索・置き換え・抽出、連結、フォーマットなど、テキストデータに対する操作を実行します。 | ||
日付および時刻値に対して、フォーマット変換、グルーピング、集約などの操作を実行します。 | ||
JSON オブジェクトおよび配列からデータを抽出・変換・クエリします。 | ||
正規表現を使用してパターンマッチングおよびテキスト処理を実行します。 | ||
時系列データにおける相対的な変化を計算します。 | ||
要素へのアクセス、フィルター、変換など、配列に対する操作を実行します。 | ||
キーと値のペア(マップ)に対して操作を実行します。 | ||
丸め、乱数生成、三角関数演算などの数値計算を実行します。 | ||
データ分布に対して統計分析と計算を実行します。 | ||
値をあるデータの型から別のデータの型に変換します。 | ||
特定のウィンドウ内のデータに対して、集約やランキングなどの計算を実行します。 | ||
IP アドレスを解析および処理します。 | ||
URL からコンポーネントを抽出します。 | ||
個別アイテムのカウントやパーセンタイルの計算など、近似結果を提供します。 | ||
バイナリデータに対して操作を実行します。 | ||
整数に対してビットごとの演算を実行します。 | ||
空間幾何オブジェクトに対して操作を実行します。 | ||
ジオ空間分析および計算を実行します。 | ||
色表現を作成および操作します。 | ||
精度とメモリ効率をトレードオフにして、大規模データセットに対して統計処理を実行します。 | ||
2 つの値を比較し、ブール値の結果を返します。これらの演算子は、double、bigint、varchar、timestamp、date などの比較可能なデータの型で動作します。 | ||
複数のブール式を組み合わせて、論理フローを制御します。 | ||
データサイズまたは時間間隔を異なる単位に変換します。 | ||
アプリケーショントラフィックやコンバージョンファネルなど、ユーザーの連続的な動作を分析します。 | ||
SQL または SPL 文内でラムダ式を定義し、高階関数に渡してその機能を拡張します。 | ||
指定された条件に基づいて異なる値を返します。 |