Skip to content

tunguyenn99/distributed-data-processing

Repository files navigation

🚀 Hướng Dẫn Cài Đặt Môi Trường – Phân tích dữ liệu với Trino & TPC-H

Shout out: Tác giả của Efficient Data Processing in SQL - Josephmachado

Chào mừng bạn đến với dự án học SQL phân tích trên hệ cơ sở dữ liệu OLAP sử dụng Trino và bộ dữ liệu TPC-H. Hướng dẫn này sẽ giúp bạn cài đặt và khởi chạy môi trường làm việc chỉ trong vài bước đơn giản.


🧰 Cần chuẩn bị những gì?

  1. Git >= 2.37.1
  2. Docker >= 20.10.17Docker Compose v2 >= 2.10.2

💡 Nếu bạn dùng Windows:

sudo apt install make -y

📥 Tải về mã nguồn

git clone https://github.com/tunguyenn99/distributed-data-processing.git
cd distributed-data-processing

💻 Người dùng Macbook M1 nên xem thêm lưu ý này


🐳 Khởi động môi trường làm việc

# Kiểm tra Docker đang chạy
docker ps

# Khởi chạy toàn bộ container
make up

# Nếu có lỗi, xóa toàn bộ container bằng:
# docker rm -f $(docker ps -a -q)

# Chờ khoảng 60 giây để hệ thống sẵn sàng
sleep 60

# Mở giao diện dòng lệnh Trino
make trino

🧪 Thử truy vấn Trino với bộ dữ liệu TPC-H

-- Gõ trong CLI của Trino:
USE tpch.tiny;
SHOW tables;
SELECT * FROM orders LIMIT 5;
exit;

📦 Trino có sẵn nhiều bộ dữ liệu mẫu theo các mức độ lớn nhỏ: tiny, sf1, sf100, v.v.


🌐 Truy cập giao diện Web


🖥️ Kết nối Trino bằng DBeaver (tùy chọn)

  1. Tải DBeaver tại đây
  2. Vào DatabaseNew Database Connection
  3. Chọn Trino → Next
  4. Để nguyên cấu hình mặc định → Nhập user là user
  5. Test connection → Finish

DBeaver


🗺️ Mô hình dữ liệu TPC-H

Bộ dữ liệu TPC-H mô phỏng một doanh nghiệp bán linh kiện xe hơi gồm:

  • Đơn hàng (orders)
  • Sản phẩm trong đơn (lineitem)
  • Khách hàng
  • Nhà cung cấp
  • Khu vực, quốc gia, sản phẩm...

TPC-H data model

📌 Bạn nên giữ sơ đồ này bên cạnh khi học và làm bài tập.


🙌 Ghi chú cảm ơn

Dự án này sử dụng:

  • Bộ dữ liệu TPC-H
  • Công cụ xử lý truy vấn OLAP Trino

About

Efficient Data Processing in Distributed Database (Vietnamese docs)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages