Skip to content

HoaiLoc9/Game-Data-Analytics-Pipeline

Repository files navigation

Game Data Analytics Pipeline

Hệ thống thu thập, xử lý và phân tích dữ liệu Game quy mô lớn

Python PySpark dbt Power BI Docker

Giới thiệu / Introduction

Đây là một end-to-end data pipeline chuyên thu thập, xử lý, lưu trữ và trực quan hóa dữ liệu về video game từ các nền tảng công khai lớn (Steam, Epic Games Store, các trang review game...).

Mục tiêu chính:

  • Thu thập tự động thông tin game: tên, giá, thể loại, nhà phát hành, đánh giá, review người dùng...
  • Xử lý dữ liệu quy mô lớn (big data) sạch sẽ, đáng tin cậy
  • Xây dựng Data Warehouse theo mô hình chuẩn (dimensional modeling)
  • Tạo dashboard tương tác để phân tích xu hướng ngành game

Kiến trúc tổng thể / Architecture Overview

Web Scraping
        ↓
Raw Storage
(PostgreSQL, MongoDB)
        ↓
ETL Pipeline
(PySpark)
        ↓
Data Warehouse
(dbt)
        ↓
Visualization
(Power BI)

Các thành phần chính:

  • Crawling: crawlsteam/ (có thể mở rộng Epic, Metacritic, RAWG, IGDB...)
  • Big Data Processing: PySpark jobs (PySpark/)
  • Data Modeling & Transformation: dbt
  • Visualization: Power BI (.pbix files in PowerBI/)
  • Containerization: Docker (cho một số service)

Công nghệ sử dụng / Tech Stack

| Layer               | Technology                     | Purpose                              |
|---------------------|--------------------------------|--------------------------------------|
| Programming         | Python 3.9+                    | Core logic, scripting                |
| Web Scraping        | Scrapy                         | Thu thập dữ liệu                     |
| Big Data Processing | PySpark (Apache Spark)         | Xử lý & biến đổi dữ liệu lớn         |
| Storage             | PostgreSQL + MongoDB           | Relational + Semi-structured         |
| Data Modeling       | dbt (data build tool)          | Xây dựng & quản lý Data Warehouse    |
| BI / Visualization  | Power BI                       | Dashboard tương tác                  |
| Orchestration       | (Tương lai: Apache Airflow)    | Lên lịch chạy pipeline               |
| Container           | Docker                         | Đóng gói môi trường                  |

Cấu trúc thư mục / Folder Structure

Game-Data-Analytics-Pipeline/
├── crawlsteam/                 # Code crawl dữ liệu từ Steam (có thể mở rộng)
├── PySpark/                    # Các job Spark: cleaning, transform, aggregate
├── PowerBI/                    # File .pbix, data model, dashboard
├── Developing Automatic System for Data Warehouse & Analysis.pdf  # Báo cáo chi tiết / Tài liệu đồ án
├── Dockerfile                  # Container hóa một số thành phần
├── README.md

Hướng dẫn cài đặt nhanh / Quick Start (đang phát triển)

Hiện tại repo chưa có hướng dẫn chạy end-to-end đầy đủ. Các bước sơ bộ:

  1. Clone repo

    git clone https://github.com/HoaiLoc9/Game-Data-Analytics-Pipeline.git
    cd Game-Data-Analytics-Pipeline
  2. Cài đặt môi trường Python & SparkBash

 pip install -r requirements.txt
  1. Chạy crawler mẫu (Steam)Bashcd crawlsteam
python main.py
  1. Chạy PySpark job
    spark-submit PySpark/clean_games.py
  2. Chạy dbt
dbt run
  1. Mở Power BI file trong PowerBI/ để xem dashboard

Lưu ý: Cần cài PostgreSQL, MongoDB, Spark (local hoặc cluster), dbt, Power BI Desktop. Kết quả đạt được / Key Results

Thu thập & xử lý hàng chục nghìn bản ghi game
Xây dựng Data Warehouse với các bảng dimension & fact chuẩn Kimball
Dashboard Power BI hỗ trợ phân tích:
Xu hướng phát hành game theo năm/tháng
So sánh giá game theo thể loại/nền tảng
Phân bố rating & sentiment từ review
Top thể loại phổ biến, nhà phát hành nổi bật...

Chi tiết đầy đủ → xem file Developing Automatic System for Data Warehouse & Analysis.pdf Hạn chế & Hướng phát triển tiếp theo / Limitations & Roadmap

Chưa có scheduler tự động (Airflow / cron)
Chưa xử lý full incremental load & CDC
Chưa deploy cloud (AWS/GCP/Azure)
Chưa có monitoring & alerting

About

source code scrapes data from the website

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors