🛶

AWS Glue Crawler を動かしても、Table が作成されない

に公開

遭遇した問題

AWS Glue を使用して、S3に配置したCSVファイルをクロールし、データカタログ(Table) の作成を試みました。

Crawler の作成とクロールの実行は成功しましたが、データカタログ(Table)が作成されません。

過去テーブルの作成に成功した Crawler の設定をまねたのですが、それでも作成されませんでした。

原因

Crawler に付与した IAMロールに、クロールしたいデータを配置した S3 へのアクセス権がありませんでした。

その結果、S3のデータを読み込む際に、403 エラーが発生し、データカタログ(Table)の作成に失敗していました。

error log

GUI操作だと、エラー通知は特になく、Crawler によるクロール処理も「成功」と表示されたため、気付くのが遅れました。

対処

Crawler に付与する IAM ロールに、クロールしたいデータを配置したS3へのアクセス権限を付与したところ、期待通りテーブルの作成に成功しました。

どうやって気付いた?

同様の事象に遭遇した情報が無いか調べたところ、参考文献記載の情報がヒットしました。

検索ワード「glue crawler table 作成されない」

もしやと思い、Cloudwatch Logs を確認したところ、403エラーを確認。参考文献と同じ事象であることが判明しました。

教訓・学び

Glue Crawler のログは直ぐ確認できる。

access crawler log

何かおかしいと思ったら、確認してみよう!

また、テーブル作成されない問題の原因を調査するために、 Crawler の 設定を色々調べました。

結果的に、データソース設定や、 Advanced Option 周りの理解が深まりました。

参考文献

Discussion