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) в теле запроса.
Примеры
resp = client.ml.flush_job(
job_id="low_request_rate",
calc_interim=True,
)
print(resp) 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. Например, для продвижения до 11 часов по Гринвичу 1 января 2018 года:
resp = client.ml.flush_job(
job_id="total-requests",
advance_time="1514804400000",
)
print(resp) 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
}
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/ml-flush-job.html