0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWSを用いてデータ分析パイプラインの一連を実施してみた①

Posted at

背景

商品の在庫管理を最適化するために、クラウン上で、データ分析基盤を構築し、
データ分析を行いたい

🧩 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 集約列だけに限定

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?