トラブルシューティング¶
一般的な問題およびその解決方法を以下に示します。
ジョブがINITIALIZING
でスタック¶
ローカルファイル入力を使用する場合は、ジョブのスコアリングデータでPUT
リクエストを最初のPOST
リクエストの後にしていることを確認します。
DataRobotでは、予測インスタンスあたり一度に1つのジョブしか処理されないので、現在のジョブが他のジョブの後にキューに配置されることがあります。 詳細については、以下のジョブログを確認します。
curl -X GET https://app.jp.datarobot.com/api/v2/batchPredictions/:id/ \
-H 'Authorization: Bearer <YOUR_KEY>'
ジョブがRUNNING
でスタック¶
ジョブは低速で実行される場合があります、これは、低速モデルまたはスコアリングデータにAPIが特定しようとしているエラーが含まれるといういずれかの理由によるものです。 ジョブの進捗はジョブステータスをリクエストすることでフォローできます。
curl -X GET https://app.jp.datarobot.com/api/v2/batchPredictions/:id/ \
-H 'Authorization: Bearer <YOUR_KEY>'
ジョブがABORTED
の状態である¶
ジョブが中断されると、DataRobotは理由をジョブステータスに記録します。 ジョブステータスは、個々のジョブURLから確認できます。
curl -X GET https://app.jp.datarobot.com/api/v2/batchPredictions/:id/ \
-H 'Authorization: Bearer <YOUR_KEY>'
または、すべてのジョブのリストビューから確認できます。
curl -X GET https://app.jp.datarobot.com/api/v2/batchPredictions/ \
-H 'Authorization: Bearer <YOUR_KEY>'
ローカルファイル入力にCSVファイルをアップロードする際にHTTP 406
が返された¶
Content-Type: text/csv
ヘッダーがありません。
ローカルファイル入力にCSVファイルをアップロードする際にHTTP 422
が返された¶
次のいずれかの原因が考えられます。
- このジョブにCSVデータが既にプッシュされている。 新しいデータを送信するには、新しいジョブを作成する。
- データをプッシュする必要のないジョブ(S3入力など)にCSVデータをプッシュしようとした。
- CSVデータをUTF-8文字セットでエンコードせず、
csvSettings
でカスタムエンコーディングを指定しなかった。 - 適切なCSV形式でCSVデータをエンコードせず、
csvSettings
でカスタム形式を指定しなかった。 - 空のファイルをプッシュしようとした。
上記のいずれの場合も、応答およびジョブログには説明が含まれます。
Oracle JDBスコアリングデータでの日付形式の不一致によるIntakeストリームエラー¶
Oracleの日付タイプには、スコア時系列データスコアリングの問題が発生する可能性がある時コンポーネントが含まれています。
日付形式yyyy-mm-dd
を使用してトレーニングされたモデルでは、Oracleの日付形式によって、Oracle JDBスコアリングデータがエラーになる可能性があります。
DataRobotがOracleから日付を読み取ると、デフォルトでは形式yyyy-mm-dd hh:mm:ss
で日付が返されます。 これは形式が異なることを想定してモデルに渡されるとエラーが発生する可能性があります。
この問題を回避するために、次の回避策のいずれかを使用します。
- Oracleからのスコアリング時の形式が同じになるように、データソースとしてOracleを使用してモデルをトレーニングします。
- SQL関数の使用を許可するため、
table
とschema
の代わりにquery
オプションを使用します。 OracleのTO_CHAR
関数は、データがスコアリングされる前に時刻列を解析するために使用できます。
ローカルファイル入力でデータセットをアップロードするときにネットワーク接続の問題が生じた。¶
新しいジョブを作成して、データセットを再度アップロードします。 失敗したアップロードは再開されず、最終的にタイムアウトします。
ローカルファイル出力でスコアリングデータをダウンロード中にネットワーク接続が使用できなくなった。¶
ジョブを再度ダウンロードします。 スコアリングされたデータは、マネージドAIプラットフォーム(SaaS)で48時間、セルフマネージドAIプラットフォーム(VPCまたはオンプレミス)で48時間(ただし変更可能)利用できます。
スコアリングデータをダウンロードしようとしているときにHTTP 404
が返された。¶
次のいずれかの原因が考えられます。
- スコアリングされたデータをダウンロードできないジョブ(S3出力など)でスコアリングデータをダウンロードしようとした。
- ジョブでスコアリングが開始する前にダウンロードを開始した。 その場合、ジョブリンクで
download
リンクが有効になるまで待ってから再試行してください。
スコアリングデータをダウンロードしようとしているときにHTTP 406
が返された。¶
クライアントからAccept
ヘッダーが送信されたが、ヘッダーにtext/csv
が含まれていなかった。 Accept
ヘッダーを送信しない、またはヘッダーにtext/csv
を含めないのいずれか。
サポートされていない出力列名の形式が原因でCREATE_TABLE
のスコアリングに失敗する¶
DataRobotで生成される出力形式の列名をサポートしない出力アダプターとしてターゲットデータベースが使用されている可能性があります。 時系列モデルをスコアリングするときのname (actual)_PREDICTION
などの列名は、すべてのデータベースでサポートされているとは限りません。
この問題を回避するには、列名の再マッピング機能を利用して、出力列名をターゲットデータベースがサポートする形式に書き換えます。
たとえば、列名からスペースを削除する場合は、次のようにcolumnNamesRemapping
を追加して追加のリクエストを行うことができます。
{
"deploymentId":"<id>",
"passthroughColumnsSet":"all",
"includePredictionStatus":true,
"intakeSettings":{
"type":"localFile"
},
"outputSettings":{
"type":"jdbc",
"dataStoreId":"<id>",
"credentialId":"<id>",
"table":"table_name_of_database",
"schema":"dbo",
"catalog":"test",
"statementType":"create_table"
},
"columnNamesRemapping":{
"name (actual)_PREDICTION":"name_actual_PREDICTION"
}
}
ジョブ作成時のHTTP 422
で考えられる理由¶
以下は、新規バッチ予測ジョブ作成時のHTTP 422
返答に対して考えられる理由です。
- 不明のジョブパラメーターを送信しました
- 予期しないタイプまたは値のジョブパラメーターを指定しました
- 入力または出力設定で、不明の認証情報IDを指定しました
- 同じS3/Azure/GCP URL(サポートされていません)間でスコアリンングしようとしている
- AIカタログからデータを取り込もうとしてるが、アカウントにはAIカタログへのアクセス権がない
- AIカタログからデータを取り込もうとしてるが、AIカタログデータセットがスナップショット(予測に必要)されていない、または正常に取り込まれていない
- 時系列カスタムモデル(現在、サポートされていない)を使用しようとしている
- 従来の時系列(ARIMA)モデル(現在、サポートされていない)を使用しようとしている
- 多クラスまたは時系列プロジェクトに予測の説明をリクエストした(現在、サポートされていない)
- 連続値プロジェクト以外のプロジェクトに予測注意をリクエストした(現在は、サポートされていない)
- 予測境界が適切に設定されていないプロジェクトに予測注意をリクエストしました