TL ; DR
SageMaker Studio習得のためabaloneを使い自分のデータでやってみたところ、使いこなすのに物凄い時間がかりました。解決法がネットになく、色々勉強しかなり遠回りしてしまったので、もし同じ境遇の方のお役に立てば幸いです。数回に分けて、エラーをどうやって解消したかを記載しています。
エラー
df is not defined
preprocess.pyで上記エラーが発生しました。
解決法
processing.pyでもdfを定義する必要があります。
背景
最初の方でしっかりとdfを読込し、df.head()も表示されたのにprocess.pyでなぜエラー発生するのか?
何が原因が全くわからず、途方に暮れました。。。
補足
SageMaker Studioでは3つの異世界?が存在します。
1つ目はgetcwd()で表示される世界(EFSのこと)
2つ目はopt/mlのコンテナの世界
3つ目はs3の世界
1つ目の世界でdfを定義していても、それが2つ目の世界では定義されてないんです。
だからpreprocess.pyがあるコンテナの世界ではエラーが出たみたいです。
まあ、そう言われたらその通りですが、そこに自力で気づくのに物凄く悩みました。。。
関連
SageMaker Studio abalone (Missing optional dependency 'fsspec')
Amazon SageMaker Pipelines を実際に使ってみた【前編】[re:Invent 2020]
Amazon SageMaker Pipelines を実際に使ってみた【後編】[re:Invent 2020]
Amazon SageMaker Pipelineを動かしてみた