注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
ストリーミングパイプラインを作成する際、ストリーミングの失敗が発生することがあります。このページでは、失敗したストリームのデバッグを行うためのお勧めのワークフローを提案し、ストリームが失敗した理由を理解するのに役立つ Foundry の利用可能なツールについて説明します。
失敗は、失敗の種類に分類することができ、それぞれの失敗の種類は異なる根本的な原因を示すことができます。以下は、最も一般的な失敗の種類と、それらが発生する理由です。
すぐに失敗するストリームは、通常、ユーザーが作成したロジックに問題があります。例えば、失敗は無効なキャストや解析の例外など、ストリーミングクラスターが正常に起動できない問題によるものです。
以前は成功していたストリームが今では失敗する場合、ロジックや上流のストリームの変更を調べて、潜在的な問題を見つけます。
これらの問題の根本原因を特定するには、以下のストリーミングクラスターログの確認ワークフローで説明されている手順に従ってください。
以前に成功していたストリームが失敗し、再起動後に再度実行される場合、通常はネットワークの停止によるインフラの問題が原因です。停止は、Foundry インスタンスが実行されているクラウドプロバイダーによってよく引き起こされます(例:AWS、Azure、GCP の停止)。ストリームにスケジュールを適用すると、Foundry は自動的にストリームを再実行し、中断したところから処理を続行することができます。
以前は成功していたストリームが、ロジックの変更がないにも関わらず繰り返し失敗する場合、通常は最も特定が難しいものです。ただし、一般的には2つの要因のいずれかが原因です:新しい入力データがストリームの進行を妨げている(例:無効なタイプ、破損したデータなど)、または持続的なインフラ問題がある(AWS の停止など)。
パイプラインのロジックがエラーの原因であるかどうかを確認するには、以下のストリーミングクラスターログの確認ワークフローで説明されている手順に従ってください。
以下では、一般的なストリーミング問題を解決するために使用できるいくつかのワークフローを概説します。これらのチェックは特定の順序で行う必要はありません。
ストリームログの取得の手順に従い、ログ内の例外やエラー、または「スロウ可能」を検索します。これらのログは通常、「ERROR」、「スロウ可能」、または「Exception」といったキーワードを通じて潜在的な根本的問題の説明を提供します。
パイプラインロジックの変更は、ユーザーが作成したコードのバグが原因で破損が発生することがよくあります。通常、前のステップで得られたログの例外は、問題を引き起こしている特定のコードを指摘します。そうであれば、問題が修正されるかどうかを確認するために、変更をロールバックしてみてください。
ストリーミングパイプラインのロジックは、予期しないデータに遭遇すると例外をスローすることがあります。このような動作の例は、パイプラインが2つの列を互いに割り、除数が 0
または null
の値を返す場合です。入力ストリームの最後のレコードを確認し、ストリーミングパイプラインに問題を引き起こす可能性のあるデータが変更されているかどうかを確認します。変更されたデータを見つけた場合、データをクリーニングしたり削除したりするフィルターやロジックを追加することを検討してください。
Foundry は、ストリームが失敗した際に一般的な例外を検出し、ストリームの詳細ページに表示します。詳細を確認して、エラーが表示されているかどうかを確認してください。
ストリームログでは、詳細ページよりもエラーに関する情報が見つかることがあります。ストリーム内の失敗に関する情報を探すために、両方の場所を確認することをお勧めします。
ストリーム中に失敗が発生し、ビルドのログにアクセスして原因を特定する必要がある場合があります。ビルドログは、さまざまなタイプのストリームの失敗の原因を特定する最適な場所です。
ストリーミングジョブのログを取得するには、まず データセットプレビューのストリーム詳細ページに移動します。
次に、確認したいジョブを見つけ、ログのダウンロード をクリックします。
最初に表示されるログラインをダウンロードするか、最後に表示されるログラインをダウンロードするかを選択します。