データフレーム分析ジョブAPIの更新
既存のデータフレーム分析ジョブを更新します。
リクエスト
POST _ml/data_frame/analytics/<data_frame_analytics_id>/_update
前提条件
次の権限が必要です:
- クラスター:
manage_ml
(machine_learning_admin
ビルトインロールがこの権限を付与します) - ソースインデックス:
read
,view_index_metadata
- デスティネーションインデックス:
read
,create_index
,manage
およびindex
データフレーム分析ジョブは、更新時にユーザーが持っていたロールを記憶します。ジョブを開始すると、同じロールを使用して分析を実行します。セカンダリアイソリューションヘッダーを提供すると、それらの資格情報が代わりに使用されます。
説明
このAPIは、ソースインデックスに対して分析を実行し、その結果をデスティネーションインデックスに保存する既存のデータフレーム分析ジョブを更新します。
パスパラメータ
<data_frame_analytics_id>
- (必須、文字列)データフレーム分析ジョブの識別子。この識別子は、小文字の英数字(a-zおよび0-9)、ハイフン、アンダースコアを含むことができます。英数字で始まり、英数字で終わる必要があります。
リクエストボディ
allow_lazy_start
- (オプション、ブール値)このジョブが、ノードに即座に割り当てられるための機械学習ノードの容量が不足している場合に開始できるかどうかを指定します。デフォルトは
false
です。ジョブを実行するための容量を持つ機械学習ノードが即座に見つからない場合、APIはエラーを返します。ただし、これはクラスター全体のxpack.ml.max_lazy_ml_nodes
設定にも依存します。高度な機械学習設定を参照してください。このオプションがtrue
に設定されている場合、APIはエラーを返さず、ジョブは十分な機械学習ノードの容量が利用可能になるまでstarting
状態で待機します。 description
- (オプション、文字列)ジョブの説明。
max_num_threads
- (オプション、整数)分析に使用される最大スレッド数。デフォルト値は
1
です。より多くのスレッドを使用すると、分析を完了するのに必要な時間が短縮される可能性がありますが、CPUの使用量が増加します。プロセスは、分析自体以外の操作機能のために追加のスレッドを使用する場合があります。 _meta
- (オプション、オブジェクト)高度な構成オプション。ジョブに関するカスタムメタデータを含みます。たとえば、カスタムURL情報を含むことができます。
model_memory_limit
- (オプション、文字列)分析処理に許可されるおおよその最大メモリリソース量。データフレーム分析ジョブのデフォルト値は
1gb
です。xpack.ml.max_model_memory_limit
設定に値を指定すると、その設定値を超えるmodel_memory_limit
値を持つジョブを作成しようとするとエラーが発生します。詳細については、機械学習設定を参照してください。
例
モデルメモリ制限の更新例
以下の例は、既存のデータフレーム分析構成のモデルメモリ制限を更新する方法を示しています。
Python
resp = client.ml.update_data_frame_analytics(
id="loganalytics",
model_memory_limit="200mb",
)
print(resp)
Js
const response = await client.ml.updateDataFrameAnalytics({
id: "loganalytics",
model_memory_limit: "200mb",
});
console.log(response);
コンソール
POST _ml/data_frame/analytics/loganalytics/_update
{
"model_memory_limit": "200mb"
}
ジョブが更新されると、応答には更新された値を持つ構成が含まれます。たとえば:
コンソール-結果
{
"id" : "loganalytics",
"create_time" : 1656364565517,
"version" : "8.4.0",
"authorization" : {
"roles" : [
"superuser"
]
},
"description" : "Outlier detection on log data",
"source" : {
"index" : [
"logdata"
],
"query" : {
"match_all" : { }
}
},
"dest" : {
"index" : "logdata_out",
"results_field" : "ml"
},
"analysis" : {
"outlier_detection" : {
"compute_feature_influence" : true,
"outlier_fraction" : 0.05,
"standardization_enabled" : true
}
},
"model_memory_limit" : "200mb",
"allow_lazy_start" : false,
"max_num_threads" : 1
}