フラッシュジョブAPI

バッファされたデータをジョブによって処理させます。

リクエスト

POST _ml/anomaly_detectors/<job_id>/_flush

前提条件

manage_ml クラスター権限が必要です。この権限は machine_learning_admin ビルトインロールに含まれています。

説明

フラッシュジョブAPIは、ポストデータAPIを使用して分析のためにデータを送信する際にのみ適用されます。バッファの内容に応じて、新しい結果を追加で計算する場合があります。

フラッシュとクローズの操作は似ていますが、フラッシュは分析のためにさらにデータを送信することを期待している場合により効率的です。フラッシュ中は、ジョブはオープンのままで、データの分析を続けることができます。クローズ操作は、モデルの状態をディスクにプルーニングして永続化し、さらにデータを分析する前にジョブを再度オープンする必要があります。

パスパラメータ

  • <job_id>
  • (必須、文字列) 異常検出ジョブの識別子。

クエリパラメータ

  • advance_time
  • (文字列) オプション。特定の時間値に進むことを指定します。指定された時間間隔のデータに対して結果が生成され、モデルが更新されます。
  • calc_interim
  • (ブール) オプション。trueの場合、最新のバケットまたはレイテンシ期間内のすべてのバケットの中間結果を計算します。
  • end
  • (文字列) オプション。calc_interim および start と併用する場合、中間結果を計算するバケットの範囲を指定します。
  • skip_time
  • (文字列) オプション。特定の時間値にスキップすることを指定します。指定された時間間隔のデータに対して結果は生成されず、モデルは更新されません。
  • start
  • (文字列) オプション。calc_interim と併用する場合、中間結果を計算するバケットの範囲を指定します。

リクエストボディ

リクエストボディ内でクエリパラメータ(advance_timecalc_interim など)を指定することもできます。

Python

  1. resp = client.ml.flush_job(
  2. job_id="low_request_rate",
  3. calc_interim=True,
  4. )
  5. print(resp)

Js

  1. const response = await client.ml.flushJob({
  2. job_id: "low_request_rate",
  3. calc_interim: true,
  4. });
  5. console.log(response);

コンソール

  1. POST _ml/anomaly_detectors/low_request_rate/_flush
  2. {
  3. "calc_interim": true
  4. }

操作が成功すると、次の結果が得られます:

コンソール-結果

  1. {
  2. "flushed": true,
  3. "last_finalized_bucket_end": 1455234900000
  4. }

last_finalized_bucket_end は、処理された最後のバケットの終了時刻(エポックからのミリ秒)を提供します。

特定のタイムスタンプにジョブをフラッシュしたい場合は、advance_time または skip_time パラメータを使用できます。たとえば、2018年1月1日午前11時GMTに進むには:

Python

  1. resp = client.ml.flush_job(
  2. job_id="total-requests",
  3. advance_time="1514804400000",
  4. )
  5. print(resp)

Js

  1. const response = await client.ml.flushJob({
  2. job_id: "total-requests",
  3. advance_time: 1514804400000,
  4. });
  5. console.log(response);

コンソール

  1. POST _ml/anomaly_detectors/total-requests/_flush
  2. {
  3. "advance_time": "1514804400000"
  4. }

操作が成功すると、次の結果が得られます:

コンソール-結果

  1. {
  2. "flushed": true,
  3. "last_finalized_bucket_end": 1514804400000
  4. }