この Topic では、構造化プロセス言語 (SPL) で構造化データに SQL 計算命令を使用する方法について説明し、例を示します。
extend
SQL 式の結果から新しいフィールドを作成します。詳細については、「SPL でサポートされている SQL 関数の一覧」をご参照ください。
構文
| extend <output>=<sql-expr>, ...パラメーターの説明
パラメーター | タイプ | 必須 | 説明 |
output | フィールド | はい | 追加する宛先フィールドの名前。複数の式の結果を同じ宛先フィールドに出力することはできません。 重要 宛先フィールドが入力データのフィールドと同じ名前を持つ場合、元のフィールドは新しい型と値で上書きされます。 |
sql-expr | SQLExpr | はい | データ処理式。 重要 詳細については、「SPL 式での null 値の処理」をご参照ください。 |
例
例 1: 計算式を使用する。
* | extend Duration = EndTime - StartTime例 2: 正規表現を使用する。
* | extend server_protocol_version=regexp_extract(server_protocol, '\d+')例 3: JSON パスからコンテンツを抽出し、フィールドのデータの型を変換する。
SPL 文
* | extend a=json_extract(content, '$.body.a'), b=json_extract(content, '$.body.b') | extend b=cast(b as BIGINT)入力データ
content: '{"body": {"a": 1, "b": 2}}'出力結果
content: '{"body": {"a": 1, "b": 2}}' a: '1' b: 2
where
SQL 式に基づいてデータをフィルター処理し、式に一致するデータエントリを保持します。詳細については、「SPL でサポートされている SQL 関数の一覧」をご参照ください。
構文
| where <sql-expr>パラメーターの説明
パラメーター | タイプ | 必須 | 説明 |
sql-expr | SQLExp | はい | SQL 式。この式を満たすデータエントリが保持されます。 重要 詳細については、「SPL 式での null 値の処理」をご参照ください。 |
例
例 1: フィールドのコンテンツに基づいてデータエントリをフィルター処理する。
* | where userId='123'例 2: 正規表現を使用してデータエントリをフィルター処理する。
* | where regexp_like(server_protocol, '\d+')例 3: データの型を変換してから、すべてのサーバー側エラーをフィルター処理する。
* | where cast(status as BIGINT) >= 500