Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

バッチ予測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
  • truePUTリクエストを介して複数のファイルを送信し、POSTリクエスト(finalizeMultipart)を介してプロセスを手動で完了する必要があります。
  • falsePUTリクエストで1つのファイルが送信された後、取り込み量を確定します。
intakeSettings.async ブーリアン true
  • true:ファイル取り込みの最初のPUTリクエストが行われると、スコアリングジョブを開始します。
  • falsePUTリクエストが解決するか、finalizeMultipartPOSTリクエストが解決するまで、スコアリングジョブを延期します。

マルチパート取り込み設定

新しいマルチパートアップロードのワークフローを有効にするには、次のサンプルリクエストに示すように、localFileアダプターのintakeSettingsを設定します。

{
    "intakeSettings": {
        "type": "localFile",
        "multipart": true
    }
} 

これらのプロパティでは、ローカルファイルのアップロードワークフローを変更するため、以下を行う必要があります。

  • 任意の数の連番ファイルをアップロードします。

  • アップロードが完了すると、必要なすべてのファイルが正常にアップロードされたことを示します。

非同期取り込み設定

非同期を有効にして新しいマルチパートアップロードのワークフローを有効にするには、次のサンプルリクエストに示すように、localFileアダプターのintakeSettingsを設定します。

備考

multipart設定とは別にasync取り込み設定を使用することもできます。

{
    "intakeSettings": {
        "type": "localFile",
        "multipart": true,
        "async": false
    }
} 

バッチ予測の特徴量とは、最初のファイルアップロードでスコアリングジョブが開始され、特定の予測インスタンスに対して一度に1つのバッチ予測ジョブのみを実行できるということです。 この機能は、低速接続で大規模なデータセットをアップロードする場合に問題が発生する可能性があります。 このような場合、クライアントのアップロード速度によってボトルネックが発生し、他のジョブの処理がブロックされる可能性があります。 この潜在的なボトルネックを回避するために、上記の例に示すようにasyncfalseを設定できます。 この設定により、バッチ予測ジョブのキューへの送信が延期されます。

"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/ 

更新しました July 18, 2023