union
サブクエリの結果をマージします。サブクエリを並行して実行するため、出力順序は保証されません。
コマンドプロパティ
| 項目 | 説明 |
|---|---|
| コマンドタイプ | ドライバクエリ |
| 必要な権限 | なし |
| ライセンス使用量 | 対象外 |
| 並列実行 | 対応 |
| 分散実行 | データノードで実行(mapper) |
構文
union [ SUBQUERY ]
ターゲット
[ SUBQUERY ]- 角括弧(
[])で囲んだサブクエリ。サブクエリの結果がメインパイプラインの入力データとして使用されます。
エラーコード
解析エラー
| エラーコード | メッセージ | 説明 |
|---|---|---|
| 90204 | [가 짝이 맞지 않습니다. | サブクエリの角括弧が対応していない場合 |
| 90206 | 서브 쿼리가 없습니다. | サブクエリが指定されていない場合 |
ランタイムエラー
該当なし
説明
union コマンドは、サブクエリを実行してその結果をメインパイプラインの入力データとして渡します。ドライバクエリのため、クエリパイプラインの最初のコマンドとして使用する必要があります。
サブクエリはメインクエリと並行して実行されるため、出力順序は保証されません。統計処理を行う場合のように順序が重要でなく、高い処理性能が必要なときに主に使用します。
使用例
-
複数テーブルのデータをマージする
union [ table duration=1h web_logs ] | union [ table duration=1h app_logs ] | stats count by src_ipweb_logsとapp_logsテーブルの直近 1 時間のデータをマージしてsrc_ip別の件数を集計します。 -
サブクエリで加工してからマージする
union [ table duration=1h firewall_logs | search action == "deny" ] | stats count by src_ipファイアウォールログから遮断イベントのみをフィルタリングした結果をマージします。