バッチ予測APIのマルチパートアップロード¶
本機能の提供について
バッチ予測のマルチパートアップロードはデフォルトでオフになっています。 この機能を有効にする方法については、DataRobotの担当者または管理者にお問い合わせください。
機能フラグ:バッチ予測のマルチパートアップロードの有効化
バッチ予測APIのローカルファイル取り込みプロセスでは、csvUpload
パラメーターで指定されたURLへのPUT
リクエストを使用して、ジョブのスコアリングデータをアップロードする必要があります。 デフォルトでは、単一のPUT
リクエストがジョブを開始します(または、予測インスタンスが占有されている場合は、処理のためにキューに入れます)。 バッチ予測のマルチパートアップロードを使用すると、デフォルトの動作をオーバーライドして、複数のファイルからスコアリングデータをアップロードできます。 このアップロードプロセスでは、複数のPUT
リクエストの後に単一のPOST
リクエスト(finalizeMultipart
)を必要とし、手動でマルチパートアップロードを完了させます。 この機能は、低速接続で大規模なデータセットをアップロードする場合に役立ちます。
備考
バッチ予測APIとローカルファイルの取り込みの詳細については、バッチ予測APIと予測取り込みオプションを参照してください。
マルチパートアップロードのエンドポイント¶
この機能により、次のマルチパートアップロードのエンドポイントがバッチ予測APIに追加されます。
エンドポイント | 説明 |
---|---|
PUT /api/v2/batchPredictions/:id/csvUpload/part/0/ |
スコアリングデータを複数の部分でcsvUpload で指定されたURLにアップロードします。 アップロードの各部分について、0 を1つずつ順番に増やします。 |
POST /api/v2/batchPredictions/:id/csvUpload/finalizeMultipart/ |
マルチパートアップロードプロセスを完了します。 完了する前に、アップロードの各部分が終了していることを確認してください。 |
ローカルファイルの取り込み設定¶
ローカルファイルアダプターの取り込み設定により、バッチ予測APIのマルチパートアップロードをサポートする2つの新しいプロパティが追加されました。
プロパティ | タイプ | デフォルト | 説明 |
---|---|---|---|
intakeSettings.multipart |
ブーリアン | false |
|
intakeSettings.async |
ブーリアン | true |
|
マルチパート取り込み設定¶
新しいマルチパートアップロードのワークフローを有効にするには、次のサンプルリクエストに示すように、localFile
アダプターのintakeSettings
を設定します。
{
"intakeSettings": {
"type": "localFile",
"multipart": true
}
}
これらのプロパティでは、ローカルファイルのアップロードワークフローを変更するため、以下を行う必要があります。
-
任意の数の連番ファイルをアップロードします。
-
アップロードが完了すると、必要なすべてのファイルが正常にアップロードされたことを示します。
非同期取り込み設定¶
非同期を有効にして新しいマルチパートアップロードのワークフローを有効にするには、次のサンプルリクエストに示すように、localFile
アダプターのintakeSettings
を設定します。
備考
multipart
設定とは別にasync
取り込み設定を使用することもできます。
{
"intakeSettings": {
"type": "localFile",
"multipart": true,
"async": false
}
}
バッチ予測の特徴量とは、最初のファイルアップロードでスコアリングジョブが開始され、特定の予測インスタンスに対して一度に1つのバッチ予測ジョブのみを実行できるということです。 この機能は、低速接続で大規模なデータセットをアップロードする場合に問題が発生する可能性があります。 このような場合、クライアントのアップロード速度によってボトルネックが発生し、他のジョブの処理がブロックされる可能性があります。 この潜在的なボトルネックを回避するために、上記の例に示すようにasync
にfalse
を設定できます。 この設定により、バッチ予測ジョブのキューへの送信が延期されます。
"async": false
の場合、ジョブがバッチ予測キューに入るポイントは、multipart
設定によって異なります。
-
"multipart": true
の場合、ジョブはPOST
リクエストの後にキューに送信され、finalizeMultipart
を解決します。 -
"multipart": false
の場合、最初のファイル取り込みPUT
リクエストが解決された後、ジョブはキューに送信されます。
マルチパートアップロードリクエストの例¶
3部構成のマルチパートバッチ予測ジョブをアップロードするために必要なバッチ予測APIリクエストは次のようになります。
PUT /api/v2/batchPredictions/:id/csvUpload/part/0/
PUT /api/v2/batchPredictions/:id/csvUpload/part/1/
PUT /api/v2/batchPredictions/:id/csvUpload/part/2/
POST /api/v2/batchPredictions/:id/csvUpload/finalizeMultipart/
アップロードされた各部分は、ヘッダー付きの完全なCSVファイルです。
マルチパートアップロードの中止¶
終了したくないマルチパートアップロードを開始する場合は、既存のbatchPredictions
中止ルートへのDELETE
リクエストを使用できます。
DELETE /api/v2/batchPredictions/:id/