フラッシュジョブ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_time
や calc_interim
など)を指定することもできます。
例
Python
resp = client.ml.flush_job(
job_id="low_request_rate",
calc_interim=True,
)
print(resp)
Js
const response = await client.ml.flushJob({
job_id: "low_request_rate",
calc_interim: true,
});
console.log(response);
コンソール
POST _ml/anomaly_detectors/low_request_rate/_flush
{
"calc_interim": true
}
コンソール-結果
{
"flushed": true,
"last_finalized_bucket_end": 1455234900000
}
last_finalized_bucket_end
は、処理された最後のバケットの終了時刻(エポックからのミリ秒)を提供します。
特定のタイムスタンプにジョブをフラッシュしたい場合は、advance_time
または skip_time
パラメータを使用できます。たとえば、2018年1月1日午前11時GMTに進むには:
Python
resp = client.ml.flush_job(
job_id="total-requests",
advance_time="1514804400000",
)
print(resp)
Js
const response = await client.ml.flushJob({
job_id: "total-requests",
advance_time: 1514804400000,
});
console.log(response);
コンソール
POST _ml/anomaly_detectors/total-requests/_flush
{
"advance_time": "1514804400000"
}
コンソール-結果
{
"flushed": true,
"last_finalized_bucket_end": 1514804400000
}