Glue Crawlerを使う時の注意点
csvをGlue Crawlerでクロールして、データカタログを作成するとき注意点の csvファイル側の制約(と思われるもの)
csvファイルの制約
- 大文字列名は小文字列名に変換される
- 日本語列名に対応している
- UTF-8のみ扱える。
- ヘッダーの自動読み取りでデータの行が全てStringの場合はヘッダーを認識できない。 docs.aws.amazon.com
ヘッダー行は、データ行と十分に異なっている必要があります。これを判断するには、1 つ以上の行が STRING 型以外として解析されることを確認します。すべての列が STRING 型である場合、最初のデータ行は以降の行と十分に異なっていないため、ヘッダーとして使用できません。
あるある
- 別のCrawler作成時に新規作成したIAMロールを使い回す("既存のIAMロールを選択")と、失敗する。IAMロール作成時にS3パスの制約が入っていることが原因。"IAMロールのポリシーの更新"を選択して、S3の読み取りアクセス許可を追加するか、別途IAMロールを作成する必要がある。
csvファイルにダブルクオートが入っている場合の対処法
- 上記方法に対して対応後、カラムの型をstring型にする必要がある。しないとエラーとなる。 https://aws.amazon.com/jp/premiumsupport/knowledge-center/athena-hive-bad-data-error-csv/