スキップしてコンテンツを表示

AWS Glue で発生する "ImportError: No module named" エラーの解決方法を教えてください。

所要時間1分
0

AWS Glue で "ImportError: No module named" というエラーが発生するため、解決したいと考えています。

解決策

サードパーティライブラリが不足している

AWS Glue Python シェルジョブを実行するときに、必要な Python モジュールまたはパッケージが見つからない場合、次のようなエラーメッセージが表示されます。

"ImportError: No module named pyarrow.compat"

この問題を解決するには、不足しているライブラリを .egg または .whl ファイルとして提供します。詳細な手順については、「Egg または Whl ファイルを使用する」を参照してください。

注: AWS Glue Python シェルジョブは、.egg ファイルと .whl ファイルをサポートしています。Python は、いずれのファイルタイプからも直接インポートを行います。

重要: Python シェルジョブは Python 3 をサポートしています。詳細については、「AWS Glue バージョンサポートポリシー」を参照してください。

カスタムコードの import ステートメントが正しくない

.egg または .whl ファイルとしてパッケージされているカスタムコードをインポートしようとする場合は、絶対インポートを使用する必要があります。相対インポートを使用すると、"ImportError: No module named" というエラーメッセージが表示されます。

この問題を解決するには、コードの import ステートメントを相対インポートから絶対インポートに変更します。

関連情報

AWS Glue の ETL ジョブで外部 Python ライブラリを使用する方法を教えてください

AWS公式更新しました 5ヶ月前