🛶

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

2024/06/03に公開

遭遇した問題

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