背景
商品の在庫管理を最適化するために、クラウン上で、データ分析基盤を構築し、
データ分析を行いたい
🧩 1. データ入力(S3アップロード)
🔹実施内容
ローカルで作成した在庫管理Excelをもとに、10月〜12月分の仮データを自動生成
それぞれを CSV化してS3バケットにアップロード
例)s3://inventory-demo-bucket/raw/inventory_data_october.csv
ファイル構造・カラムを統一して、後段のCrawlerで正しく認識できる形に整備
🧩 2. ETL & 整形(Glue Crawler実行)
🔹実施内容
Glue Crawlerを作成し、S3配下のCSVをスキャン
Glue Data Catalogに自動でスキーマ(テーブル定義)を登録
3つの月(10,11,12月)のCSVを 1つのテーブルに統合
⚙️トラブル & 対処
トラブル①
CrawlerはCompletedなのにテーブルなし
原因
S3権限不足 or パスミス
解決策
ロールにAmazonS3ReadOnlyAccess権限追加+S3パス再指定
🧩 3. GlueでExcelをパース → 「在庫マスタ」「入出庫履歴」化
🔹実施内容
Glue Crawlerで作成されたテーブルをもとに、AthenaでETL相当の整形処理を実施
テーブルの中身を「在庫マスタ」「入出庫履歴」的な構造に整理
日付, 商品コード, ブランド, 入庫数量, 出庫数量, 残在庫 などを正規化
Athena上で、分析に使いやすい構造を確立(いわば 仮想ETL)
⚙️トラブル & 対処
トラブル①
日本語カラムでエラー(mismatched input '日')
原因
SQL構文が全角・日本語列を直接解釈できない
解決策
カラム名を "日付" のようにダブルクォートで囲む
トラブル②
クエリがエラー
原因
全角空白が入っていた
解決策
半角スペースに修正(Presto構文は全角非対応)
🧩 4. 簡単分析(Athenaによる可視化前分析)
🔹実施内容
Athenaで以下の集計を実施:
月別入庫・出庫サマリ(2025-10〜12)
商品別在庫ランキング(TOP10)
発注アラート(平均在庫10袋未満)
→ すべて成功して、結果をCSV出力 or QuickSightで可視化可能に。
⚙️トラブル & 対処
トラブル①
2025 テーブルでエラー
原因
テーブル名が数字で始まる
解決策
バッククォートで囲む: FROM hato_inventory.2025
トラブル②
集約関数エラー(must appear in GROUP BY)
原因
SUMなどと通常列を同時にSELECT
解決策
GROUP BY を追加 or 集約列だけに限定