Skip to content

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

バッチ予測API

バッチ予測APIは、既にデプロイ済みの予測サーバーを使って大規模なデータセットをスコアリングする際の入力と出力の柔軟なオプションを提供します。このAPIはDataRobotパブリックAPIを介して公開されます。APIはREST対応クライアント、またはDataRobot PythonパブリックAPIバインディングを使用して使用できます。

REST APIの詳細については、APIドキュメントを参照してください。<!-—private end-—>

APIの主要な機能を以下に示します。

  • 入力と出力の柔軟なオプション:
    • ローカルファイルをストリーミングし、アップロードと同時に結果のダウンロード行われる間にスコアリングを開始することができます。
    • S3から/S3に入出力される大きなデータセットのスコアリング。
    • AIカタログからデータセットを読み取ります。
    • スコアリングデータと結果の双方向ストリーミングにJDBCを使用して、外部データソース に接続します。
      • 入力と出力オプションの組み合わせ(ローカルファイルから S3ターゲットへのスコアリングなど)。
  • 同時実行制御レベルオプションによる予測サーバーオーバーロードに対する保護。
  • 予測の説明の追加(しきい値を追加するオプション)。
  • スコアリングされたデータとソースデータを関連付けるパススルー列のサポート。
  • 出力の予測警告の追加。
  • APIを介して1GB以上のファイルで予測を作成する機能。

制限

項目 マネージドAIクラウド オンプレミスまたはプライベート/ハイブリッドクラウド
ジョブのランタイム制限 4時間 無制限
ローカルファイルの入力サイズ 10GB 無制限
ローカルファイルの書き込みサイズ 無制限 無制限
S3入力サイズ 無制限 無制限
S3書き込みサイズ 100GB 100GB(設定可能)
Azure入力サイズ 4.75TB 4.75TB
Azure書き込みサイズ 195GB 195GB
GCP入力サイズ 5TB 5TB
GCP書き込みサイズ 5TB 5TB
JDBC入力サイズ 無制限 無制限
JDBC出力サイズ 無制限 無制限
同時実行ジョブ 予測インスタンスあたり1つ インストールあたり1つ
保存されたデータの保持時間
ローカルファイルアダプターの場合
48時間 48時間(設定可能)

同時実行ジョブ

予測サーバーでの過負荷を防止するために、DataRobotでは、予測インスタンスあたり1つのジョブだけが実行されます。追加のジョブはキューに入れられ、前のジョブが完了するとすぐに開始されます。

データパイプライン

バッチ予測ジョブは、次で構成されるデータパイプラインです。

データ入力 > 同時実行スコアリング > データ出力

作成時に、ジョブのintakeSettingsおよびoutputSettingsによってパイプラインのデータ入力およびデータ出力の部分が定義されます。入力および出力オプションの任意の組み合わせを設定できます。どちらの場合でも、デフォルトはローカルファイルの入力および出力なので、スコアリングするデータと共に個別のPUTリクエストを発行して、スコアリングされたデータをダウンロードする必要があります。

バッチ予測用にサポートされるデータソース

次の表は、バッチ予測に対するデータソースのサポートを示しています。

名前 ドライバーのバージョン 入力サポート 出力サポート 検定済みのDataRobotバージョン
AWS Athena 2.0 2.0.5 はい いいえ 7.3
Google BigQuery 1.2.4 はい はい 7.3
InterSystems 3.2.0 はい いいえ 7.3
KDB+ - はい はい 7.3
Microsoft SQL Server 7.4.1 はい はい 6.0
MySQL 5.1.44 はい はい 6.0
Oracle 11.2.0 はい はい 7.3
PostgreSQL 42.2.20 はい はい 6.0
Presto 0.263.1 はい いいえ 7.3
Redshift 1.2.10.1009 はい はい 6.0
SAP HANA 2.4.70 はい いいえ 7.3
Snowflake 3.12.0 はい はい 6.2
Synapse 8.4.1 はい はい 7.3
Teradata 17.10.00.23 はい はい 7.3
TreasureData 0.5.10 はい いいえ 7.3

詳細については、次を参照してください:

同時スコアリング

スコアリングを行う際、提供したデータはブロックに分割され、デプロイで指定された予測インスタンスで同時にスコアリングされます。同時実行のレベルを制御するには、ジョブを作成するときにnumConcurrentパラメーターを変更します。

ジョブの状態

バッチ予測を行う場合、各予測ジョブは4つの状態のいずれかになります。

  • INITIALIZING: ジョブが正常に作成され、かつ次のいずれかの場合:
    • プッシュするCSVデータを待機中(ローカルファイル入力の場合)。
    • 予測サーバー上でスロット処理を待機中。
  • RUNNING: 予測サーバーでデータセットのスコアリングが開始された。
  • ABORTED: 次のいずれかの理由でジョブが中断された。
    • 無効な設定があった。
    • DataRobotで20%または100MBの無効なスコアリングデータが発生し、その結果として予測エラーとなりました。
  • COMPLETED: データセットがスコアリングされ、かつ:
    • スコアリング済みデータをダウンロードできる(ローカルファイル出力の場合)。
    • または、データが出力先に書き込まれている。

資格情報を安全に保存する

スコアリングの一部のソースまたはターゲットは、DataRobotがユーザーに代わって認証することをリクエストしています(たとえば、データベースがログイン時にユーザー名とパスワードで認証することをリクエストする場合)。これらの資格情報が正しく保存されるようにするには、データ資格情報を有効にしておく必要があります。

DataRobotでは、以下の認証情報タイプおよびプロパティーが使用されます。

アダプター 認証情報タイプ プロパティ
S3入力/出力 S3 awsAccessKeyId
awsSecretAccessKey
awsSessionToken(オプション)
JDBC 入力/出力 基本 ユーザー名
パスワード

保存された認証情報を使用するには、各アダプターの以下の説明にあるようにintakeSettingsまたはoutputSettingsのいずれかで関連付けられたcredentialIdをパスする必要があります。

CSV形式

CSVファイルの読み取りまたは書き込みを処理する入出力オプションの場合は、に以下を指定することでカスタム形式を使用できますcsvSettings

パラメーター 説明
delimiter , オプション。使用する区切り文字。デフォルト: , (コンマ)。TABを区切り文字として指定するには、文字列を使用しますtab
quotechar " オプション。区切り文字を含むフィールドの引用に使用する文字。デフォルト: "
encoding utf-8 オプション。CSVファイルのエンコーディング。例(ただし、これらに限定されません): shift_jislatin_1 または mskanji。デフォルト: utf-8
Pythonでサポートされる任意のエンコーディングを使用できます。

同じ形式が入力および出力の両方に使用されます。完全な例を参照してください。

モデル監視

バッチ予測APIはDataRobotのモデル監視機能とうまく統合します。

  • デプロイのデータドリフト追跡を有効にすると、バッチ予測APIで実行されるすべての予測が追跡されます。
  • デプロイのターゲットドリフト追跡を有効にすると、出力には実績報告に使用する目的の関連IDが含まれます。

デプロイに対して本番以外のデータセットを実行する必要がある場合は、以下のパラメーターを指定して単一ジョブのドリフト追跡をオフにできます。

パラメーター 説明
skipDriftTracking true オプション。このジョブのデータとターゲットドリフト追跡をスキップします。デフォルト: false

デフォルト予測インスタンスの上書き

通常の状況下では、スコアリングに使用される予測サーバーがモデルがデプロイされた先のデフォルト予測サーバーとなります。ただし、上書きはできません。複数の予測サーバーへのアクセス権がある場合は、predictionInstanceオプションの以下のプロパティを使用してデフォルト動作を上書きできます。

パラメーター 説明
hostName 192.0.2.4 モデルがデプロイされた先の予測サーバーから、デフォルトホスト名の代わりに使用するホスト名が設定されます。
sslEnabled false オプション。SSL (HTTPS)を使用して予測サーバーにアクセスします。デフォルト: true
apiKey NWU...IBn2w オプション。ジョブ作成者のキーとは異なるAPIキーを使用して、新規予測サーバーに対して認証します。
datarobotKey 154a8abb-cbde-4e73-ab3b-a46c389c337b オプション。マネージドAIクラウド環境で実行中の場合は、予測サーバーに対して組織ごとのDataRobotキーを指定します。

デプロイ > 予測 > 予測APIタブ上で、またはDataRobot担当者に連絡することにより、キーを見つけます。

以下は完全な例です。

job_details = {
    'deploymentId': deployment_id,
    'intakeSettings': {'type': 'localFile'},
    'outputSettings': {'type': 'localFile'},
    'predictionInstance': {
        'hostName': '192.0.2.4',
        'sslEnabled': False,
        'apiKey': 'NWUQ9w21UhGgerBtOC4ahN0aqjbjZ0NMhL1e5cSt4ZHIBn2w',
        'datarobotKey': '154a8abb-cbde-4e73-ab3b-a46c389c337b',
    },
}

更新モデルと一致したスコアリング

ジョブがキューに入った後に新規モデルをデプロイすると、DataRobotはジョブ作成時にデプロイされたモデルをジョブ全体に対して引き続き使用します。すべての行が同じモデルでスコアリングされます。

APIリファレンス

パブリックAPI

バッチ予測APIはDataRobot パブリックAPIの一部で、DataRobotの右上にあるクエスチョンマークをクリックしてAPI ドキュメントを選択することによりアクセスできます。

Python APIクライアント

Python パブリックAPI Clientを使用して、バッチ予測APIと連携することができます。


更新しました April 15, 2022
Back to top