table

ログプレッソテーブルに保存されたデータを照会します。

コマンドプロパティ

項目説明
コマンドタイプドライバクエリ
必要な権限テーブル読み取り権限(raw=t 使用時はクラスター管理者権限が追加で必要)
ライセンス使用量カウントあり
並列実行対応
分散実行データノードで実行(mapper)

構文

過去データを照会する場合

table [order={desc|asc}] [offset=LONG] [limit=LONG] [duration=INT{s|m|h|d|mon}] [from=DATE] [to=DATE] [parser=STR] [parallel=BOOL] [eachtable=BOOL] [raw=BOOL] [lazy=BOOL] [fields=STR] TABLE [TABLE ...]

リアルタイムデータを受信する場合

table window=INT{s|m|h|d|mon} [parser=STR] [lazy=BOOL] [fields=STR] TABLE [TABLE ...]

オプション

order={desc|asc}
テーブル照会の順序(デフォルト: desc)。
  • desc: 最新データから照会
  • asc: 古いデータから照会
offset=LONG
スキップするレコード数。0 以上の値を指定します。
limit=LONG
取得する最大レコード数
duration=INT{s|m|h|d|mon}
現在時刻から指定した時間範囲以内のデータに限定します。s(秒)、m(分)、h(時)、d(日)、mon(月)単位を使用します。例: 10m は現在時刻から 10 分前までの範囲です。window と同時に使用できません。
from=DATE
照会範囲の開始時刻。yyyyMMddHHmmss 形式で入力します。末尾の桁を省略すると 0 で補完されます。window と同時に使用できません。
to=DATE
照会範囲の終了時刻。yyyyMMddHHmmss 形式で入力します。末尾の桁を省略すると 0 で補完されます。window と同時に使用できません。
window=INT{s|m|h|d|mon}
クエリ開始時点から指定した時間の間、テーブルに新たに入力されるデータをリアルタイムで受信します。s(秒)、m(分)、h(時)、d(日)、mon(月)単位を使用します。fromtoduration と同時に使用できません。
parser=STR
レコードパースに使用するログパーサー名
parallel=BOOL
t を指定すると並列スキャンを有効にします。limit を指定しない場合は自動的に昇順照会に切り替わります。
eachtable=BOOL
t を指定すると offsetlimit を全体結果ではなくテーブル単位で適用します。
raw=BOOL
t を指定するとログパーサーを適用せず、生データを照会します。クラスター管理者権限が必要です。
lazy=BOOL
t を指定すると lazy loading を有効にします。初期はメタデータのみ読み込み、実際のデータは必要時に読み込みます。
fields=STR
読み込むフィールド名をカンマ区切りで指定します。指定するとそのフィールドのみ読み込むため、パフォーマンスが向上します。

ターゲット

TABLE
照会するテーブル名。[NODE:][[NAMESPACE\]]TABLE[?] 形式で指定します。スペースで区切って複数のテーブルを指定でき、* ワイルドカードを使用できます。
  • NODE: — データノード名(省略時は全ノード対象)
  • NAMESPACE\ — テーブルの名前空間(省略可)
  • TABLE — テーブル名
  • ? — 名前の末尾に付けるとテーブルが存在しなくてもエラーなくスキップします

出力フィールド

フィールドタイプ説明
_tablestringテーブル名。リモートノードのテーブルは NODE:TABLE 形式
_timetimestampレコード記録時刻
_sklongストレージキー
_eraintegerエポック番号
_idlongパーティション内レコードのシリアル番号

テーブルにログパーサーが設定されている場合、パーサーが返すフィールドが追加されます。

エラーコード

解析エラー
エラーコードメッセージ説明
10600저장소가 닫혀 있습니다.ストレージが閉じている場合
10601offset 값은 0보다 크거나 같아야 합니다: 입력값=[offset].offset 値が 0 未満の場合
10602입력값이 허용 범위를 벗어났습니다: limit=[offset].limit 値が許容範囲外の場合
10603[options]에서 [exp] 잘못된 옵션입니다.不正なテーブル指定子が使用された場合
10604테이블이 없습니다.テーブルが指定されていない場合
10605테이블 [table]이(가) 존재하지 않습니다.指定したローカルテーブルが存在しない場合
10606테이블 [table] 읽기 권한이 없습니다.ローカルテーブルの読み取り権限がない場合
10607테이블 [table]이(가) 존재하지 않습니다.指定したリモートテーブルが存在しない場合
10608테이블 [table] 읽기 권한이 없습니다.リモートテーブルの読み取り権限がない場合
no-raw-permissionraw=t 使用時にクラスター管理者権限がない場合
ランタイムエラー

該当なし

説明

table コマンドは、ログプレッソテーブルに保存されたデータを照会します。ドライバクエリのため、クエリパイプラインの最初のコマンドとしてのみ使用します。

window オプションを指定すると過去データスキャンの代わりにリアルタイム受信モードで動作します。クエリ開始時点から指定した時間が経過するか、クエリがキャンセルされるまでテーブルに新たに入力されるデータを受信します。fromtoduration オプションと同時に使用できません。

分散環境では、テーブルが保存されている各データノードでスキャンが実行されます。

使用例

  1. Web サーバーログの全データを照会する

    table WEB_APACHE
    

    WEB_APACHE テーブルのすべての Web アクセス記録を照会します。

  2. 特定期間のファイアウォール遮断イベントを照会する

    table from=20250315 to=20250319 FW_BLOCK_LOG
    

    2025 年 3 月 15 日から 3 月 19 日までのファイアウォールで遮断されたイベントを照会します。

  3. 直近 1 時間のセキュリティイベント上位 100 件を照会する

    table duration=1h order=desc limit=100 SECURITY_EVENT_LOG
    

    直近 1 時間以内のセキュリティイベントのうち、最新の 100 件を時系列の逆順で照会します。

  4. 複数のセキュリティログを一度に照会する

    table duration=1d WEB_APACHE FW_BLOCK_LOG NET_DNS_QUERY_LOG
    

    直近 1 日以内の Web アクセスログ、ファイアウォール遮断ログ、DNS クエリログをまとめて照会します。

  5. ワイルドカードを使用して Web サーバーログを照会する

    table duration=1d WEB_APACHE*
    

    WEB_APACHE で始まるすべてのテーブルから直近 1 日以内の Web サーバーログを照会します。

  6. リアルタイムセキュリティイベントを監視する

    table window=60s SECURITY_EVENT_LOG
    

    クエリ開始時点から 60 秒間、SECURITY_EVENT_LOG テーブルに入力される新しいセキュリティイベントをリアルタイムで受信します。

  7. パラメーターを使用した動的期間照会

    set from = string(dateadd(now(), "day", -7), "yyyyMMdd")
    | set to = string(now(), "yyyyMMdd")
    | table from=$("from") to=$("to") WEB_APACHE
    

    直近 7 日間の Web アクセスログを照会します。set コマンドで動的に計算した日付範囲をパラメーターとして使用します。